From: Laurent Pinchart Date: Tue, 17 Jan 2017 08:29:04 +0000 (+0200) Subject: UPSTREAM: drm: bridge: dw-hdmi: Detect AHB audio DMA using correct register X-Git-Tag: release-20171130_firefly~4^2~716 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=35fa89ce46499572ddf46f9cb98cbff620bbdcc6;p=firefly-linux-kernel-4.4.55.git UPSTREAM: drm: bridge: dw-hdmi: Detect AHB audio DMA using correct register Bit 0 in CONFIG1_ID tells whether the IP core uses an AHB slave interface for control. The correct way to identify AHB audio DMA support is through bit 1 in CONFIG3_ID. Signed-off-by: Laurent Pinchart Reviewed-by: Jose Abreu Signed-off-by: Archit Taneja Link: http://patchwork.freedesktop.org/patch/msgid/20170117082910.27023-15-laurent.pinchart+renesas@ideasonboard.com Change-Id: Iafac3a0d301fdd8e8a217da3c9a49b829cdd2edc Signed-off-by: Zheng Yang (cherry pick from 0c674948b7f4e4ffc19ba5af65a274e945c0c689) --- diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c index 706dc344cc1c..e258c45e74fb 100644 --- a/drivers/gpu/drm/bridge/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/dw-hdmi.c @@ -2406,7 +2406,7 @@ int dw_hdmi_bind(struct device *dev, struct device *master, u8 prod_id0; u8 prod_id1; u8 config0; - u8 config1; + u8 config3; hdmi = devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL); if (!hdmi) @@ -2572,9 +2572,9 @@ int dw_hdmi_bind(struct device *dev, struct device *master, pdevinfo.id = PLATFORM_DEVID_AUTO; config0 = hdmi_readb(hdmi, HDMI_CONFIG0_ID); - config1 = hdmi_readb(hdmi, HDMI_CONFIG1_ID); + config3 = hdmi_readb(hdmi, HDMI_CONFIG3_ID); - if (config1 & HDMI_CONFIG1_AHB) { + if (config3 & HDMI_CONFIG3_AHBAUDDMA) { struct dw_hdmi_audio_data audio; audio.phys = iores->start; diff --git a/drivers/gpu/drm/bridge/dw-hdmi.h b/drivers/gpu/drm/bridge/dw-hdmi.h index 29218a56ba77..8ac04bbb3c3f 100644 --- a/drivers/gpu/drm/bridge/dw-hdmi.h +++ b/drivers/gpu/drm/bridge/dw-hdmi.h @@ -570,6 +570,10 @@ enum { /* CONFIG1_ID field values */ HDMI_CONFIG1_AHB = 0x01, +/* CONFIG3_ID field values */ + HDMI_CONFIG3_AHBAUDDMA = 0x02, + HDMI_CONFIG3_GPAUD = 0x01, + /* IH_FC_INT2 field values */ HDMI_IH_FC_INT2_OVERFLOW_MASK = 0x03, HDMI_IH_FC_INT2_LOW_PRIORITY_OVERFLOW = 0x02,