On Fri, Sep 2, 2016 at 2:49 AM, Archit Taneja architt@codeaurora.org wrote:
Hi,
On 8/30/2016 5:11 AM, John Stultz wrote:
From: Andy Green andy.green@linaro.org
Set the initial audio packet settings to allow the audio driver to work.
Cc: David Airlie airlied@linux.ie Cc: Archit Taneja architt@codeaurora.org Cc: Laurent Pinchart laurent.pinchart@ideasonboard.com Cc: Wolfram Sang wsa+renesas@sang-engineering.com Cc: Srinivas Kandagatla srinivas.kandagatla@linaro.org Cc: "Ville Syrjälä" ville.syrjala@linux.intel.com Cc: Boris Brezillon boris.brezillon@free-electrons.com Cc: Andy Green andy@warmcat.com Cc: Dave Long dave.long@linaro.org Cc: Guodong Xu guodong.xu@linaro.org Cc: Zhangfei Gao zhangfei.gao@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Lars-Peter Clausen lars@metafoo.de Cc: Jose Abreu joabreu@synopsys.com Cc: dri-devel@lists.freedesktop.org Signed-off-by: Andy Green andy.green@linaro.org [jstultz: Forward ported to mainline, changed to use register names rather then hex values, and removed config values set by audio driver.] Signed-off-by: John Stultz john.stultz@linaro.org
drivers/gpu/drm/bridge/adv7511/adv7533.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c b/drivers/gpu/drm/bridge/adv7511/adv7533.c index 6798ecf..cced7c9 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7533.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c @@ -104,6 +104,28 @@ void adv7533_dsi_power_on(struct adv7511 *adv) /* disable test mode */ regmap_write(adv->regmap_cec, 0x55, 0x00);
/* hide Audio infoframe updates */
regmap_update_bits(adv->regmap, ADV7511_REG_INFOFRAME_UPDATE,
BIT(5), BIT(5));
/* enable N/CTS, enable Audio sample packets */
regmap_update_bits(adv->regmap, ADV7511_REG_PACKET_ENABLE1,
BIT(5), BIT(5));
/* enable N/CTS */
regmap_update_bits(adv->regmap, ADV7511_REG_PACKET_ENABLE1,
BIT(6), BIT(6));
/* not copyrighted */
regmap_update_bits(adv->regmap, ADV7511_REG_AUDIO_CFG1,
BIT(5), BIT(5));
/* enable audio infoframes */
regmap_update_bits(adv->regmap, ADV7511_REG_PACKET_ENABLE1,
BIT(3), BIT(3));
/* AV mute disable */
regmap_update_bits(adv->regmap, ADV7511_REG_GC(0),
BIT(7) | BIT(6), BIT(7));
/* use Audio infoframe updated info */
regmap_update_bits(adv->regmap, ADV7511_REG_GC(1),
BIT(5), 0);
Wouldn't these writes be needed by ADV751x chips too? These seem to belong to the main ADV75xx regmap. These should probably be a separate func in adv7511_audio.c or adv7511_drv.c, and it should be called in adv7511_power_on, so that ADV751x chips can utilize this too.
Yea. It seems like folding this into the audio_startup() function is the best thing here, so I've done so and it seems to be working well. Will resend here shortly.
thanks -john