HVR-950q patches submitted upstream!

After a rather large bug hunt, I’ve finally submitted the HVR-950q patches upstream. In the end, we created 24 patches addressing a ton of longstanding bugs:

  • au8522: fix intermittent lockup of analog video decoder
  • au8522: Fix off-by-one in SNR table for QAM256
  • au8522: properly recover from the au8522 delivering misaligned TS streams
  • au0828: Make the s_reg and g_reg advanced debug calls work against the bridge
  • xc5000: properly show quality register values
  • xc5000: add support for showing the SNR and gain in the debug output
  • xc5000: properly report i2c write failures
  • au0828: fix race condition that causes xc5000 to not bind for digital
  • au0828: make sure video standard is setup in tuner-core
  • au8522: fix regression in logging introduced by separation of modules
  • xc5000: don’t invoke auto calibration unless we really did reset tuner
  • au0828: prevent i2c gate from being kept open while in analog mode
  • au0828: fix case where STREAMOFF being called on stopped stream causes BUG()
  • au0828: speed up i2c clock when doing xc5000 firmware load
  • au0828: remove control buffer from send_control_msg
  • au0828: tune retry interval for i2c interaction
  • au0828: fix possible race condition in usage of dev->ctrlmsg
  • xc5000: reset device if encountering PLL lock failure
  • xc5000: add support for firmware load check and init status
  • au0828: tweak workaround for i2c clock stretching bug
  • xc5000: show debug version fields in decimal instead of hex
  • au0828: fix a couple of missed edge cases for i2c gate with analog
  • au0828: make xc5000 firmware speedup apply to the xc5000c as well
  • xc5000: change filename to production/redistributable xc5000c firmware

What started out as a search for a single reliability bug resulted in a very large number of issues being fixed spanning three different drivers. Hooray for open source!

3 thoughts on “HVR-950q patches submitted upstream!

  1. Awesome. Hooray for folks like you that make open source great! I’m so glad you’ve given this attention to these drivers so folks like me can continue to make good use of them, and now with much snappier tuning and better reliability. Cheers!

    • Hello Perfectom,

      Because the device conforms to the V4L2 specification, there are a variety of applications out there which can be used for this purpose (any that support the V4L2 API). Tvtime and VLC have this functionality built in, but if you’re looking for source code you may wish to look at the “capture.c” source that is widely available and demonstrates how to capture from a V4L2 device.



Leave a Reply