From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zubair Lutfullah Kakakhel Subject: Re: [PATCH v7 5/7] drm: bridge/dw-hdmi: add support for multi byte register width access Date: Tue, 11 Nov 2014 14:20:19 +0000 Message-ID: <54621B23.1020602@imgtec.com> References: <1415710229-11935-1-git-send-email-andy.yan@rock-chips.com> <1415710432-12167-1-git-send-email-andy.yan@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1415710432-12167-1-git-send-email-andy.yan@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Andy Yan , airlied@linux.ie, heiko@sntech.de, fabio.estevam@freescale.com, rmk+kernel@arm.linux.org.uk Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, Arnd Bergmann , Josh Boyer , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Inki Dae , linux-rockchip@lists.infradead.org, Rob Herring , Sean Paul , djkurtz@google.com, Philipp Zabel , ykk@rock-chips.com, Grant Likely , Dave Airlie , Shawn Guo , jay.xu@rock-chips.com, Lucas Stach List-Id: devicetree@vger.kernel.org Hi Andy, This patch adds the reg-io-width binding. Hence the binding patch should come before it. On 11/11/14 12:53, Andy Yan wrote: > On rockchip rk3288, only word(32-bit) accesses are > permitted for hdmi registers. Byte width accesses (writeb, > readb) generate an imprecise external abort. > > Signed-off-by: Andy Yan > > --- > > } > > static void hdmi_modb(struct dw_hdmi *hdmi, u8 data, u8 mask, unsigned reg) > @@ -1499,6 +1527,23 @@ static int dw_hdmi_bind(struct device *dev, struct device *master, void *data) > struct device_node *ddc_node; > struct resource *iores; > int ret, irq; > + u32 val = 1; > + > + of_property_read_u32(np, "reg-io-width", &val); > + > + switch (val) { > + case 4: > + hdmi->write = dw_hdmi_writel; > + hdmi->read = dw_hdmi_readl; > + break; > + case 1: > + hdmi->write = dw_hdmi_writeb; > + hdmi->read = dw_hdmi_readb; > + break; > + default: > + dev_err(dev, "reg-io-width must be 1 or 4\n"); > + return -EINVAL; > + } The binding patch says this is an optional property. But here if undefined it returns -EINVAL. I would keep it optional and default it to byte access. Regards, ZubairLK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752655AbaKKOUc (ORCPT ); Tue, 11 Nov 2014 09:20:32 -0500 Received: from mailapp01.imgtec.com ([195.59.15.196]:32163 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751984AbaKKOU3 (ORCPT ); Tue, 11 Nov 2014 09:20:29 -0500 Message-ID: <54621B23.1020602@imgtec.com> Date: Tue, 11 Nov 2014 14:20:19 +0000 From: Zubair Lutfullah Kakakhel User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Andy Yan , , , , CC: Greg Kroah-Hartman , Grant Likely , Rob Herring , Philipp Zabel , Shawn Guo , Josh Boyer , Sean Paul , Inki Dae , Dave Airlie , Arnd Bergmann , Lucas Stach , , , , , , , , Subject: Re: [PATCH v7 5/7] drm: bridge/dw-hdmi: add support for multi byte register width access References: <1415710229-11935-1-git-send-email-andy.yan@rock-chips.com> <1415710432-12167-1-git-send-email-andy.yan@rock-chips.com> In-Reply-To: <1415710432-12167-1-git-send-email-andy.yan@rock-chips.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.154.89] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andy, This patch adds the reg-io-width binding. Hence the binding patch should come before it. On 11/11/14 12:53, Andy Yan wrote: > On rockchip rk3288, only word(32-bit) accesses are > permitted for hdmi registers. Byte width accesses (writeb, > readb) generate an imprecise external abort. > > Signed-off-by: Andy Yan > > --- > > } > > static void hdmi_modb(struct dw_hdmi *hdmi, u8 data, u8 mask, unsigned reg) > @@ -1499,6 +1527,23 @@ static int dw_hdmi_bind(struct device *dev, struct device *master, void *data) > struct device_node *ddc_node; > struct resource *iores; > int ret, irq; > + u32 val = 1; > + > + of_property_read_u32(np, "reg-io-width", &val); > + > + switch (val) { > + case 4: > + hdmi->write = dw_hdmi_writel; > + hdmi->read = dw_hdmi_readl; > + break; > + case 1: > + hdmi->write = dw_hdmi_writeb; > + hdmi->read = dw_hdmi_readb; > + break; > + default: > + dev_err(dev, "reg-io-width must be 1 or 4\n"); > + return -EINVAL; > + } The binding patch says this is an optional property. But here if undefined it returns -EINVAL. I would keep it optional and default it to byte access. Regards, ZubairLK