From: Yakir <ykk@rock-chips.com> To: Russell King <rmk+kernel@arm.linux.org.uk>, alsa-devel@alsa-project.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Cc: Fabio Estevam <fabio.estevam@freescale.com>, David Airlie <airlied@linux.ie>, Takashi Iwai <tiwai@suse.de>, Mark Brown <broonie@kernel.org>, Philipp Zabel <p.zabel@pengutronix.de> Subject: Re: [PATCH 02/13] drm: bridge/dw_hdmi: clean up phy configuration Date: Fri, 22 May 2015 23:19:26 +0800 [thread overview] Message-ID: <555F48FE.4070301@rock-chips.com> (raw) In-Reply-To: <E1Yr1xJ-0006kc-GE@rmk-PC.arm.linux.org.uk> Hi Russell, 在 2015/5/9 18:26, Russell King 写道: > The phy configuration is dependent on the SoC, and we look up values for > some of the registers in SoC specific data. However, we had partially > programmed the phy before we had successfully looked up the clock rate. > Also, we were only checking that we had a valid configuration for the > currctrl register. > > Move all these lookups to the start of this function instead, so we can > check that all lookups were successful before beginning to program the > phy. > > Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Test on RK3288 platform, it works wells :-) Test-by: <ykk@rock-chips.com> Best regards, Yakir Yang > --- > drivers/gpu/drm/bridge/dw_hdmi.c | 68 +++++++++++++++++++++------------------- > 1 file changed, 35 insertions(+), 33 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c > index 3494391e4199..23ea8c5c85b6 100644 > --- a/drivers/gpu/drm/bridge/dw_hdmi.c > +++ b/drivers/gpu/drm/bridge/dw_hdmi.c > @@ -753,12 +753,12 @@ static void dw_hdmi_phy_sel_interface_control(struct dw_hdmi *hdmi, u8 enable) > static int hdmi_phy_configure(struct dw_hdmi *hdmi, unsigned char prep, > unsigned char res, int cscon) > { > - unsigned res_idx, i; > + unsigned res_idx; > u8 val, msec; > - const struct dw_hdmi_plat_data *plat_data = hdmi->plat_data; > - const struct dw_hdmi_mpll_config *mpll_config = plat_data->mpll_cfg; > - const struct dw_hdmi_curr_ctrl *curr_ctrl = plat_data->cur_ctr; > - const struct dw_hdmi_phy_config *phy_config = plat_data->phy_config; > + const struct dw_hdmi_plat_data *pdata = hdmi->plat_data; > + const struct dw_hdmi_mpll_config *mpll_config = pdata->mpll_cfg; > + const struct dw_hdmi_curr_ctrl *curr_ctrl = pdata->cur_ctr; > + const struct dw_hdmi_phy_config *phy_config = pdata->phy_config; > > if (prep) > return -EINVAL; > @@ -778,6 +778,30 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi, unsigned char prep, > return -EINVAL; > } > > + /* PLL/MPLL Cfg - always match on final entry */ > + for (; mpll_config->mpixelclock != ~0UL; mpll_config++) > + if (hdmi->hdmi_data.video_mode.mpixelclock <= > + mpll_config->mpixelclock) > + break; > + > + for (; curr_ctrl->mpixelclock != ~0UL; curr_ctrl++) > + if (hdmi->hdmi_data.video_mode.mpixelclock <= > + curr_ctrl->mpixelclock) > + break; > + > + for (; phy_config->mpixelclock != ~0UL; phy_config++) > + if (hdmi->hdmi_data.video_mode.mpixelclock <= > + phy_config->mpixelclock) > + break; > + > + if (mpll_config->mpixelclock == ~0UL || > + curr_ctrl->mpixelclock == ~0UL || > + phy_config->mpixelclock == ~0UL) { > + dev_err(hdmi->dev, "Pixel clock %d - unsupported by HDMI\n", > + hdmi->hdmi_data.video_mode.mpixelclock); > + return -EINVAL; > + } > + > /* Enable csc path */ > if (cscon) > val = HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH; > @@ -803,40 +827,18 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi, unsigned char prep, > HDMI_PHY_I2CM_SLAVE_ADDR); > hdmi_phy_test_clear(hdmi, 0); > > - /* PLL/MPLL Cfg - always match on final entry */ > - for (i = 0; mpll_config[i].mpixelclock != (~0UL); i++) > - if (hdmi->hdmi_data.video_mode.mpixelclock <= > - mpll_config[i].mpixelclock) > - break; > - > - hdmi_phy_i2c_write(hdmi, mpll_config[i].res[res_idx].cpce, 0x06); > - hdmi_phy_i2c_write(hdmi, mpll_config[i].res[res_idx].gmp, 0x15); > - > - for (i = 0; curr_ctrl[i].mpixelclock != (~0UL); i++) > - if (hdmi->hdmi_data.video_mode.mpixelclock <= > - curr_ctrl[i].mpixelclock) > - break; > - > - if (curr_ctrl[i].mpixelclock == (~0UL)) { > - dev_err(hdmi->dev, "Pixel clock %d - unsupported by HDMI\n", > - hdmi->hdmi_data.video_mode.mpixelclock); > - return -EINVAL; > - } > + hdmi_phy_i2c_write(hdmi, mpll_config->res[res_idx].cpce, 0x06); > + hdmi_phy_i2c_write(hdmi, mpll_config->res[res_idx].gmp, 0x15); > > /* CURRCTRL */ > - hdmi_phy_i2c_write(hdmi, curr_ctrl[i].curr[res_idx], 0x10); > + hdmi_phy_i2c_write(hdmi, curr_ctrl->curr[res_idx], 0x10); > > hdmi_phy_i2c_write(hdmi, 0x0000, 0x13); /* PLLPHBYCTRL */ > hdmi_phy_i2c_write(hdmi, 0x0006, 0x17); > > - for (i = 0; phy_config[i].mpixelclock != (~0UL); i++) > - if (hdmi->hdmi_data.video_mode.mpixelclock <= > - phy_config[i].mpixelclock) > - break; > - > - hdmi_phy_i2c_write(hdmi, phy_config[i].term, 0x19); /* TXTERM */ > - hdmi_phy_i2c_write(hdmi, phy_config[i].sym_ctr, 0x09); /* CKSYMTXCTRL */ > - hdmi_phy_i2c_write(hdmi, phy_config[i].vlev_ctr, 0x0E); /* VLEVCTRL */ > + hdmi_phy_i2c_write(hdmi, phy_config->term, 0x19); /* TXTERM */ > + hdmi_phy_i2c_write(hdmi, phy_config->sym_ctr, 0x09); /* CKSYMTXCTRL */ > + hdmi_phy_i2c_write(hdmi, phy_config->vlev_ctr, 0x0E); /* VLEVCTRL */ > > /* REMOVE CLK TERM */ > hdmi_phy_i2c_write(hdmi, 0x8000, 0x05); /* CKCALCTRL */ _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
WARNING: multiple messages have this Message-ID (diff)
From: ykk@rock-chips.com (Yakir) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 02/13] drm: bridge/dw_hdmi: clean up phy configuration Date: Fri, 22 May 2015 23:19:26 +0800 [thread overview] Message-ID: <555F48FE.4070301@rock-chips.com> (raw) In-Reply-To: <E1Yr1xJ-0006kc-GE@rmk-PC.arm.linux.org.uk> Hi Russell, ? 2015/5/9 18:26, Russell King ??: > The phy configuration is dependent on the SoC, and we look up values for > some of the registers in SoC specific data. However, we had partially > programmed the phy before we had successfully looked up the clock rate. > Also, we were only checking that we had a valid configuration for the > currctrl register. > > Move all these lookups to the start of this function instead, so we can > check that all lookups were successful before beginning to program the > phy. > > Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Test on RK3288 platform, it works wells :-) Test-by: <ykk@rock-chips.com> Best regards, Yakir Yang > --- > drivers/gpu/drm/bridge/dw_hdmi.c | 68 +++++++++++++++++++++------------------- > 1 file changed, 35 insertions(+), 33 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c > index 3494391e4199..23ea8c5c85b6 100644 > --- a/drivers/gpu/drm/bridge/dw_hdmi.c > +++ b/drivers/gpu/drm/bridge/dw_hdmi.c > @@ -753,12 +753,12 @@ static void dw_hdmi_phy_sel_interface_control(struct dw_hdmi *hdmi, u8 enable) > static int hdmi_phy_configure(struct dw_hdmi *hdmi, unsigned char prep, > unsigned char res, int cscon) > { > - unsigned res_idx, i; > + unsigned res_idx; > u8 val, msec; > - const struct dw_hdmi_plat_data *plat_data = hdmi->plat_data; > - const struct dw_hdmi_mpll_config *mpll_config = plat_data->mpll_cfg; > - const struct dw_hdmi_curr_ctrl *curr_ctrl = plat_data->cur_ctr; > - const struct dw_hdmi_phy_config *phy_config = plat_data->phy_config; > + const struct dw_hdmi_plat_data *pdata = hdmi->plat_data; > + const struct dw_hdmi_mpll_config *mpll_config = pdata->mpll_cfg; > + const struct dw_hdmi_curr_ctrl *curr_ctrl = pdata->cur_ctr; > + const struct dw_hdmi_phy_config *phy_config = pdata->phy_config; > > if (prep) > return -EINVAL; > @@ -778,6 +778,30 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi, unsigned char prep, > return -EINVAL; > } > > + /* PLL/MPLL Cfg - always match on final entry */ > + for (; mpll_config->mpixelclock != ~0UL; mpll_config++) > + if (hdmi->hdmi_data.video_mode.mpixelclock <= > + mpll_config->mpixelclock) > + break; > + > + for (; curr_ctrl->mpixelclock != ~0UL; curr_ctrl++) > + if (hdmi->hdmi_data.video_mode.mpixelclock <= > + curr_ctrl->mpixelclock) > + break; > + > + for (; phy_config->mpixelclock != ~0UL; phy_config++) > + if (hdmi->hdmi_data.video_mode.mpixelclock <= > + phy_config->mpixelclock) > + break; > + > + if (mpll_config->mpixelclock == ~0UL || > + curr_ctrl->mpixelclock == ~0UL || > + phy_config->mpixelclock == ~0UL) { > + dev_err(hdmi->dev, "Pixel clock %d - unsupported by HDMI\n", > + hdmi->hdmi_data.video_mode.mpixelclock); > + return -EINVAL; > + } > + > /* Enable csc path */ > if (cscon) > val = HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH; > @@ -803,40 +827,18 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi, unsigned char prep, > HDMI_PHY_I2CM_SLAVE_ADDR); > hdmi_phy_test_clear(hdmi, 0); > > - /* PLL/MPLL Cfg - always match on final entry */ > - for (i = 0; mpll_config[i].mpixelclock != (~0UL); i++) > - if (hdmi->hdmi_data.video_mode.mpixelclock <= > - mpll_config[i].mpixelclock) > - break; > - > - hdmi_phy_i2c_write(hdmi, mpll_config[i].res[res_idx].cpce, 0x06); > - hdmi_phy_i2c_write(hdmi, mpll_config[i].res[res_idx].gmp, 0x15); > - > - for (i = 0; curr_ctrl[i].mpixelclock != (~0UL); i++) > - if (hdmi->hdmi_data.video_mode.mpixelclock <= > - curr_ctrl[i].mpixelclock) > - break; > - > - if (curr_ctrl[i].mpixelclock == (~0UL)) { > - dev_err(hdmi->dev, "Pixel clock %d - unsupported by HDMI\n", > - hdmi->hdmi_data.video_mode.mpixelclock); > - return -EINVAL; > - } > + hdmi_phy_i2c_write(hdmi, mpll_config->res[res_idx].cpce, 0x06); > + hdmi_phy_i2c_write(hdmi, mpll_config->res[res_idx].gmp, 0x15); > > /* CURRCTRL */ > - hdmi_phy_i2c_write(hdmi, curr_ctrl[i].curr[res_idx], 0x10); > + hdmi_phy_i2c_write(hdmi, curr_ctrl->curr[res_idx], 0x10); > > hdmi_phy_i2c_write(hdmi, 0x0000, 0x13); /* PLLPHBYCTRL */ > hdmi_phy_i2c_write(hdmi, 0x0006, 0x17); > > - for (i = 0; phy_config[i].mpixelclock != (~0UL); i++) > - if (hdmi->hdmi_data.video_mode.mpixelclock <= > - phy_config[i].mpixelclock) > - break; > - > - hdmi_phy_i2c_write(hdmi, phy_config[i].term, 0x19); /* TXTERM */ > - hdmi_phy_i2c_write(hdmi, phy_config[i].sym_ctr, 0x09); /* CKSYMTXCTRL */ > - hdmi_phy_i2c_write(hdmi, phy_config[i].vlev_ctr, 0x0E); /* VLEVCTRL */ > + hdmi_phy_i2c_write(hdmi, phy_config->term, 0x19); /* TXTERM */ > + hdmi_phy_i2c_write(hdmi, phy_config->sym_ctr, 0x09); /* CKSYMTXCTRL */ > + hdmi_phy_i2c_write(hdmi, phy_config->vlev_ctr, 0x0E); /* VLEVCTRL */ > > /* REMOVE CLK TERM */ > hdmi_phy_i2c_write(hdmi, 0x8000, 0x05); /* CKCALCTRL */
next prev parent reply other threads:[~2015-05-22 15:19 UTC|newest] Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-04-02 9:20 [RFC v2 0/13] dw_hdmi cleanups, audio preparation, helpers and ahb audio support Russell King - ARM Linux 2015-04-02 9:20 ` Russell King - ARM Linux 2015-04-02 9:21 ` [PATCH RFC v2 01/13] drm: imx/dw_hdmi: move phy comments Russell King 2015-04-02 9:21 ` Russell King 2015-04-02 9:21 ` [PATCH RFC v2 02/13] drm: bridge/dw_hdmi: clean up phy configuration Russell King 2015-04-02 9:21 ` Russell King 2015-04-02 9:21 ` [PATCH RFC v2 03/13] drm: bridge/dw_hdmi: clean up hdmi_set_clk_regenerator() Russell King 2015-04-02 9:21 ` Russell King 2015-04-02 9:21 ` [PATCH RFC v2 04/13] drm: bridge/dw_hdmi: use drm_hdmi_avi_infoframe_from_display_mode() Russell King 2015-04-02 9:21 ` Russell King 2015-04-02 9:21 ` [PATCH RFC v2 05/13] drm: bridge/dw_hdmi: simplify hdmi_config_AVI() a little Russell King 2015-04-02 9:21 ` Russell King 2015-04-02 9:21 ` [PATCH RFC v2 06/13] drm: bridge/dw_hdmi: remove mhsyncpolarity/mvsyncpolarity/minterlaced Russell King 2015-04-02 9:21 ` Russell King 2015-04-02 9:21 ` [PATCH RFC v2 07/13] drm: bridge/dw_hdmi: introduce interface to setting sample rate Russell King 2015-04-02 9:21 ` Russell King 2015-04-02 9:21 ` [PATCH RFC v2 08/13] drm: bridge/dw_hdmi: introduce interfaces to enable and disable audio Russell King 2015-04-02 9:21 ` Russell King 2015-04-02 9:22 ` [PATCH RFC v2 09/13] drm/edid: add function to help find SADs Russell King 2015-04-02 9:22 ` Russell King 2015-04-02 9:22 ` [PATCH RFC v2 10/13] sound/core: add DRM ELD helper Russell King 2015-04-02 9:22 ` Russell King 2015-04-05 15:57 ` Takashi Iwai 2015-04-05 15:57 ` Takashi Iwai 2015-04-05 16:20 ` Russell King - ARM Linux 2015-04-05 16:20 ` Russell King - ARM Linux 2015-04-05 16:46 ` Takashi Iwai 2015-04-05 16:46 ` Takashi Iwai 2015-04-05 17:26 ` Russell King - ARM Linux 2015-04-05 17:26 ` Russell King - ARM Linux 2015-05-06 17:02 ` Anssi Hannula 2015-05-06 17:02 ` Anssi Hannula 2015-05-07 10:41 ` Russell King - ARM Linux 2015-05-07 10:41 ` Russell King - ARM Linux 2015-05-07 11:11 ` Lars-Peter Clausen 2015-05-07 11:11 ` [alsa-devel] " Lars-Peter Clausen 2015-05-08 10:56 ` Jyri Sarha 2015-05-08 10:56 ` Jyri Sarha 2015-05-08 11:42 ` Russell King - ARM Linux 2015-05-08 11:42 ` Russell King - ARM Linux 2015-05-05 22:35 ` Mark Brown 2015-05-05 22:35 ` Mark Brown 2015-05-06 8:58 ` Liam Girdwood 2015-05-06 8:58 ` [alsa-devel] " Liam Girdwood 2015-05-08 13:16 ` Jyri Sarha 2015-05-08 13:16 ` Jyri Sarha 2015-05-08 13:27 ` Russell King - ARM Linux 2015-05-08 13:27 ` Russell King - ARM Linux 2015-05-08 13:37 ` Jyri Sarha 2015-05-08 13:37 ` [alsa-devel] " Jyri Sarha 2015-04-02 9:22 ` [PATCH RFC v2 11/13] sound/core: add IEC958 channel status helper Russell King 2015-04-02 9:22 ` Russell King 2015-04-02 9:22 ` [PATCH RFC v2 12/13] drm: bridge/dw_hdmi-ahb-audio: add audio driver Russell King 2015-04-02 9:22 ` Russell King 2015-04-02 9:22 ` [PATCH RFC v2 13/13] drm: bridge/dw_hdmi-ahb-audio: parse ELD from HDMI driver Russell King 2015-04-02 9:22 ` Russell King 2015-05-09 10:25 ` [PATCH v3 0/13] dw_hdmi cleanups, audio preparation, helpers and ahb audio support Russell King - ARM Linux 2015-05-09 10:25 ` Russell King - ARM Linux 2015-05-09 10:25 ` [PATCH 01/13] drm: imx/dw_hdmi: move phy comments Russell King 2015-05-09 10:25 ` Russell King 2015-05-09 10:26 ` [PATCH 02/13] drm: bridge/dw_hdmi: clean up phy configuration Russell King 2015-05-09 10:26 ` Russell King 2015-05-22 15:19 ` Yakir [this message] 2015-05-22 15:19 ` Yakir 2015-05-09 10:26 ` [PATCH 03/13] drm: bridge/dw_hdmi: clean up hdmi_set_clk_regenerator() Russell King 2015-05-09 10:26 ` Russell King 2015-05-22 15:22 ` Yakir 2015-05-22 15:22 ` Yakir 2015-05-09 10:26 ` [PATCH 04/13] drm: bridge/dw_hdmi: use drm_hdmi_avi_infoframe_from_display_mode() Russell King 2015-05-09 10:26 ` Russell King 2015-05-09 10:26 ` [PATCH 05/13] drm: bridge/dw_hdmi: simplify hdmi_config_AVI() a little Russell King 2015-05-09 10:26 ` Russell King 2015-05-09 10:26 ` [PATCH 06/13] drm: bridge/dw_hdmi: remove mhsyncpolarity/mvsyncpolarity/minterlaced Russell King 2015-05-09 10:26 ` Russell King 2015-05-09 10:26 ` [PATCH 07/13] drm: bridge/dw_hdmi: introduce interface to setting sample rate Russell King 2015-05-09 10:26 ` Russell King 2015-05-22 15:26 ` Yakir 2015-05-22 15:26 ` Yakir 2015-05-09 10:26 ` [PATCH 08/13] drm: bridge/dw_hdmi: introduce interfaces to enable and disable audio Russell King 2015-05-09 10:26 ` Russell King 2015-05-22 15:28 ` Yakir 2015-05-22 15:28 ` Yakir 2015-05-09 10:26 ` [PATCH 09/13] drm/edid: add function to help find SADs Russell King 2015-05-09 10:26 ` Russell King 2015-05-09 10:26 ` [PATCH 10/13] sound/core: add DRM ELD helper Russell King 2015-05-09 10:26 ` Russell King 2015-05-22 12:20 ` [alsa-devel] " Mark Brown 2015-05-22 12:20 ` Mark Brown 2015-05-22 13:15 ` Russell King - ARM Linux 2015-05-22 13:15 ` Russell King - ARM Linux 2015-05-22 13:30 ` Takashi Iwai 2015-05-22 13:30 ` Takashi Iwai 2015-05-22 13:53 ` Russell King - ARM Linux 2015-05-22 13:53 ` Russell King - ARM Linux 2015-05-22 13:54 ` Takashi Iwai 2015-05-22 13:54 ` Takashi Iwai 2015-05-22 14:00 ` Russell King - ARM Linux 2015-05-22 14:00 ` Russell King - ARM Linux 2015-05-22 14:02 ` Takashi Iwai 2015-05-22 14:02 ` Takashi Iwai 2015-05-22 14:05 ` Takashi Iwai 2015-05-22 14:05 ` Takashi Iwai 2015-05-22 16:12 ` Russell King - ARM Linux 2015-05-22 16:12 ` Russell King - ARM Linux 2015-05-09 10:26 ` [PATCH 11/13] sound/core: add IEC958 channel status helper Russell King 2015-05-09 10:26 ` Russell King 2015-05-22 12:40 ` Mark Brown 2015-05-22 12:40 ` Mark Brown 2015-05-09 10:26 ` [PATCH 12/13] drm: bridge/dw_hdmi-ahb-audio: add audio driver Russell King 2015-05-09 10:26 ` Russell King 2015-05-09 16:49 ` [alsa-devel] " Anssi Hannula 2015-05-09 16:49 ` Anssi Hannula 2015-05-09 16:55 ` Russell King - ARM Linux 2015-05-09 16:55 ` Russell King - ARM Linux 2015-05-09 17:07 ` Anssi Hannula 2015-05-09 17:07 ` Anssi Hannula 2015-05-09 17:40 ` Russell King - ARM Linux 2015-05-09 17:40 ` Russell King - ARM Linux 2015-05-09 17:53 ` Russell King - ARM Linux 2015-05-09 17:53 ` Russell King - ARM Linux 2015-05-09 17:55 ` Anssi Hannula 2015-05-09 17:55 ` Anssi Hannula 2015-05-09 18:11 ` Russell King - ARM Linux 2015-05-09 18:11 ` Russell King - ARM Linux 2015-05-10 18:59 ` Anssi Hannula 2015-05-10 18:59 ` Anssi Hannula 2015-05-10 19:33 ` Russell King - ARM Linux 2015-05-10 19:33 ` Russell King - ARM Linux 2015-05-10 20:47 ` Anssi Hannula 2015-05-10 20:47 ` Anssi Hannula 2015-05-11 15:58 ` Mark Brown 2015-05-11 15:58 ` [alsa-devel] " Mark Brown 2015-05-09 10:26 ` [PATCH 13/13] drm: bridge/dw_hdmi-ahb-audio: parse ELD from HDMI driver Russell King 2015-05-09 10:26 ` Russell King 2015-05-27 10:43 ` Daniel Vetter 2015-05-27 10:43 ` Daniel Vetter 2015-05-27 11:43 ` Mark Brown 2015-05-27 11:43 ` Mark Brown 2015-05-27 17:31 ` Russell King - ARM Linux 2015-05-27 17:31 ` Russell King - ARM Linux 2015-05-27 21:29 ` Daniel Vetter 2015-05-27 21:29 ` Daniel Vetter 2015-05-27 21:44 ` Russell King - ARM Linux 2015-05-27 21:44 ` Russell King - ARM Linux 2015-05-28 6:43 ` Daniel Vetter 2015-05-28 6:43 ` Daniel Vetter 2015-05-28 4:56 ` [alsa-devel] " Takashi Iwai 2015-05-28 4:56 ` Takashi Iwai
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=555F48FE.4070301@rock-chips.com \ --to=ykk@rock-chips.com \ --cc=airlied@linux.ie \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=fabio.estevam@freescale.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=p.zabel@pengutronix.de \ --cc=rmk+kernel@arm.linux.org.uk \ --cc=tiwai@suse.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.