OSDN Git Service

media: atomisp_ov2680: Fix 1280x720 -> 1296x736 resolution
authorHans de Goede <hdegoede@redhat.com>
Sun, 23 Oct 2022 23:05:08 +0000 (00:05 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 25 Nov 2022 08:25:16 +0000 (08:25 +0000)
commit6f5c0bafa6d1311501e25c2dec096df40fcbe350
tree880cda062aa37e74b8003e2935d183da0e8d4791
parent2527b8d1676aee0351c6f2babf2d1057709a4b80
media: atomisp_ov2680: Fix 1280x720 -> 1296x736 resolution

The ov2680_720p_30fps register init list used for the 1296x736 resolution
sets the hsize register to 1296 and the vsize register to 736.

This is actually the right thing to do when combined with the atomISP2
because the ISP requires 16 bytes padding leaving userspace to see
1280x720.

But the resolution list entries for this was incorrectly reporting
the resolution being send to the ISP as already being 1280x720,
leaving usespace to see 1274x704 as resolution.

Worse then userspace seeing a weird resolution selecting the
1280x720 sensor resolution (which in reality is sending 1296x736)
to the ISP was causing the ISP to hang on Cherry Trail based tablets
(Bay Trail works fine for some reason).

This commit also adds a bunch of comments annotating what
the various register writes the init lists are doing.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/i2c/ov2680.h