Hi, Indeed, the HVR-2205 I have works fine with that patch reverted and after setting REGLEN_0bit for the Si2168 chips in the saa7164-cards. The chip detection and firmware load is correct now. [ 2046.684246] si2168 2-0064: found a 'Silicon Labs Si2168-B40' [ 2046.684278] si2168 2-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw' [ 2049.242810] si2168 2-0064: firmware version: 4.0.11 [ 2049.261896] si2157 0-0060: found a 'Silicon Labs Si2157-A30' [ 2049.294328] si2157 0-0060: firmware version: 3.0.5 I'll send the patches on to linux-media so Steven can evaluate the impact on other boards, if any. Cheers, -olli On 5 June 2015 at 16:18, Antti Palosaari <crope@xxxxxx> wrote: > On 06/05/2015 04:40 PM, Olli Salonen wrote: >> >> Hi Steven, >> >> It seems to me that that part of the code is identical to your driver, no? >> >> The media_tree driver: >> >> retval = saa7164_api_i2c_read(bus, >> msgs[i].addr, >> 0 /* reglen */, >> NULL /* reg */, msgs[i].len, msgs[i].buf); >> >> It's exactly the same with a little bit different formatting. > > > And that looks correct. > > But the patch which does not look correct, or is at least unclear, is that > [media] saa7164: Improvements for I2C handling > http://permalink.gmane.org/gmane.comp.video.linuxtv.scm/22211 > > First change does not have any effect as len should be zero in any case and > memcpy() should do nothing. > > Second change looks something that is likely wrong. There is some hack which > increases data len. All that register len stuff is logically wrong - I2C > adapter handles just bytes and should not know nothing about client register > layout. OK, there is some exceptions (like af9035) where I2C firmware > actually knows register layout for some strange reason. > > So could you remove that patch and test? > > Antti > > -- > http://palosaari.fi/ -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html