On Fri, Jan 30, 2015 at 06:19:46AM -0500, Yakir Yang wrote: > When transmitting IEC60985 linear PCM audio, we configure the > Aduio Sample Channel Status information of all the channel > status bits in the IEC60958 frame. It appears that the iMX6 version of the DW-HDMI IP does not have these registers. These registers are quite possibly only available on IPs which do not have the built-in AHB DMA, since the channel status bits are encoded into the samples in memory. Can you report what identifying information your version of this IP outputs please? On iMX6, I get: dwhdmi-imx 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1 for iMX6Quad, and for iMX6Solo: dwhdmi-imx 120000.hdmi: Detected HDMI controller 0x13:0x1a:0xa0:0xc1 Thanks. Further comments below. > diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c > index 423addc..2ded957 100644 > --- a/drivers/gpu/drm/bridge/dw_hdmi.c > +++ b/drivers/gpu/drm/bridge/dw_hdmi.c > @@ -204,6 +204,47 @@ static void hdmi_regenerate_n_cts(struct dw_hdmi *hdmi, unsigned int n, > hdmi_writeb(hdmi, n & 0xff, HDMI_AUD_N1); > } > > +static void hdmi_set_schnl(struct dw_hdmi *hdmi) > +{ > + u8 aud_schnl_samplerate; > + > + switch (hdmi->sample_rate) { > + case 32000: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_32K; > + break; > + case 44100: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_44K1; > + break; > + case 48000: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_48K; > + break; > + case 88200: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_88K2; > + break; > + case 96000: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_96K; > + break; > + case 176400: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_176K4; > + break; > + case 192000: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_192K; > + break; > + case 768000: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_768K; > + break; > + default: > + aud_schnl_samplerate = HDMI_FC_AUDSCHNLS7_SMPRATE_44K1; > + break; > + } > + > + /* set channel status register */ > + hdmi_modb(hdmi, aud_schnl_samplerate, > + HDMI_FC_AUDSCHNLS7_SMPRATE_MASK, HDMI_FC_AUDSCHNLS7); > + hdmi_writeb(hdmi, ((~aud_schnl_samplerate) << 4) | 0x2, > + HDMI_FC_AUDSCHNLS8); > +} > + You should not split patches up like this - this patch introduces a new static function, which is never used until a subsequent patch. If this patch were to be merged, it would introduce a new build warning. Please ensure that each patch in the series can be applied in sequence without causing a regression. Thanks. -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel