Lines Matching +full:gain +full:- +full:scaling +full:- +full:n
1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * for the Matrox Marvel G200,G400 and Rainbow Runner-G series
20 * V1.1 Gerard v.d. Horst Added some debugoutput, reset the video-standard
31 #include <media/v4l2-device.h>
233 table[KS_HSCLL] = 0x00; /* Horizontal Scaling Ratio Low */ in init_reg_defaults()
234 table[KS_HSCLH] = 0x00; /* Horizontal Scaling Ratio High */ in init_reg_defaults()
235 table[KS_VSCLL] = 0x00; /* Vertical Scaling Ratio Low */ in init_reg_defaults()
236 table[KS_VSCLH] = 0x00; /* Vertical Scaling Ratio High */ in init_reg_defaults()
252 table[KS_UGAIN] = 0x00; /* U Component Gain Adjustment */ in init_reg_defaults()
253 table[KS_VGAIN] = 0x00; /* V Component Gain Adjustment */ in init_reg_defaults()
273 /* Command Register F, update -immediately- */ in init_reg_defaults()
290 * workaround in i2c-algo-bit
300 .addr = client->addr, in ks0127_read()
305 .addr = client->addr, in ks0127_read()
313 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in ks0127_read()
315 v4l2_dbg(1, debug, sd, "read error\n"); in ks0127_read()
328 v4l2_dbg(1, debug, sd, "write error\n"); in ks0127_write()
330 ks->regs[reg] = val; in ks0127_write()
334 /* generic bit-twiddling */
339 u8 val = ks->regs[reg]; in ks0127_and_or()
354 v4l2_dbg(1, debug, sd, "reset\n"); in ks0127_init()
374 v4l2_dbg(1, debug, sd, "ks0122s found\n"); in ks0127_init()
380 v4l2_dbg(1, debug, sd, "ks0127 found\n"); in ks0127_init()
384 v4l2_dbg(1, debug, sd, "ks0127B Revision A found\n"); in ks0127_init()
388 v4l2_dbg(1, debug, sd, "unknown revision\n"); in ks0127_init()
406 "s_routing %d: Composite\n", input); in ks0127_s_routing()
413 /* non-freerunning mode */ in ks0127_s_routing()
440 "s_routing %d: S-Video\n", input); in ks0127_s_routing()
447 /* non-freerunning mode */ in ks0127_s_routing()
471 v4l2_dbg(1, debug, sd, "s_routing 15: YUV656\n"); in ks0127_s_routing()
472 if (ks->norm & V4L2_STD_525_60) in ks0127_s_routing()
516 "s_routing: Unknown input %d\n", input); in ks0127_s_routing()
533 ks->norm = std; in ks0127_s_std()
536 "s_std: NTSC_M\n"); in ks0127_s_std()
540 "s_std: NTSC_N (fixme)\n"); in ks0127_s_std()
544 "s_std: PAL_N\n"); in ks0127_s_std()
548 "s_std: PAL_M (fixme)\n"); in ks0127_s_std()
552 "s_std: SECAM\n"); in ks0127_s_std()
564 v4l2_dbg(1, debug, sd, "s_std: Unknown norm %llx\n", in ks0127_s_std()
572 v4l2_dbg(1, debug, sd, "s_stream(%d)\n", enable); in ks0127_s_stream()
618 v4l2_dbg(1, debug, sd, "querystd\n"); in ks0127_querystd()
624 v4l2_dbg(1, debug, sd, "g_input_status\n"); in ks0127_g_input_status()
628 /* ----------------------------------------------------------------------- */
642 /* ----------------------------------------------------------------------- */
650 v4l_info(client, "%s chip found @ 0x%x (%s)\n", in ks0127_probe()
651 client->addr == (I2C_KS0127_ADDON >> 1) ? "addon" : "on-board", in ks0127_probe()
652 client->addr << 1, client->adapter->name); in ks0127_probe()
654 ks = devm_kzalloc(&client->dev, sizeof(*ks), GFP_KERNEL); in ks0127_probe()
656 return -ENOMEM; in ks0127_probe()
657 sd = &ks->sd; in ks0127_probe()