From: Andy Yan <andy.yan@rock-chips.com>
To: Lucas Stach <l.stach@pengutronix.de>
Cc: heiko@sntech.de, airlied@linux.ie,
dri-devel@lists.freedesktop.org, ykk@rock-chips.com,
devel@driverdev.osuosl.org, linux-rockchip@lists.infradead.org,
Grant Likely <grant.likely@linaro.org>,
Dave Airlie <airlied@redhat.com>,
jay.xu@rock-chips.com, devicetree@vger.kernel.org,
Zubair.Kakakhel@imgtec.com, Arnd Bergmann <arnd@arndb.de>,
Inki Dae <inki.dae@samsung.com>, Rob Herring <robh+dt@kernel.org>,
Sean Paul <seanpaul@chromium.org>,
rmk+kernel@arm.linux.org.uk, fabio.estevam@freescale.com,
Josh Boyer <jwboyer@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, djkurtz@google.com,
Philipp Zabel <p.zabel@pengutronix.de>,
Shawn Guo <shawn.guo@linaro.org>
Subject: Re: [PATCH V4 5/6] dw-hdmi: add support for multi byte register width access
Date: Sat, 08 Nov 2014 11:19:42 +0800 [thread overview]
Message-ID: <545D8BCE.1030202@rock-chips.com> (raw)
In-Reply-To: <1415360707.2776.1.camel@pengutronix.de>
On 2014年11月07日 19:45, Lucas Stach wrote:
> Am Freitag, den 07.11.2014, 19:35 +0800 schrieb Andy Yan:
>> On rockchip rk3288, only word(32-bit) accesses are
>> permitted for hdmi registers. Byte width access (writeb,
>> readb) generates an imprecise external abort.
>>
>> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
>> ---
>> drivers/gpu/drm/bridge/dw_hdmi.c | 49 +++++++++++++++++++++++++++++++++++++---
>> 1 file changed, 46 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c
>> index df76a8c..9867642 100644
>> --- a/drivers/gpu/drm/bridge/dw_hdmi.c
>> +++ b/drivers/gpu/drm/bridge/dw_hdmi.c
>> @@ -126,19 +126,42 @@ struct dw_hdmi {
> [...]
>> + u32 val;
>> +
>> + if (!of_property_read_u32(np, "reg-io-width", &val)) {
>> + switch (val) {
>> + case 4:
>> + hdmi->write = dw_hdmi_writel;
>> + hdmi->read = dw_hdmi_readl;
>> + hdmi->reg_shift = 2;
>> + break;
>> + default:
>> + hdmi->write = dw_hdmi_writeb;
>> + hdmi->read = dw_hdmi_readb;
>> + hdmi->reg_shift = 0;
>> + break;
>> + }
>> + } else {
>> + hdmi->write = dw_hdmi_writeb;
>> + hdmi->read = dw_hdmi_readb;
>> + hdmi->reg_shift = 0;
>> + }
>>
>> ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
>> if (ddc_node) {
> This should throw an error if the property value in devicetree is not
> recognized. This could be simplified like this:
>
> u32 val = 1;
>
> // this won't touch val if it can't find the property
> of_property_read_u32(np, "reg-io-width", &val)
>
>
> switch (val) {
> case 4:
> hdmi->write = dw_hdmi_writel;
> hdmi->read = dw_hdmi_readl;
> hdmi->reg_shift = 2;
> break;
> case 1:
> hdmi->write = dw_hdmi_writeb;
> hdmi->read = dw_hdmi_readb;
> hdmi->reg_shift = 0;
> break;
> default:
> dev_err(dev, "unrecognized value for reg-io-width");
> // error handling
> }
>
> Also the DT binding doc for this property is missing.
>
> Regards,
> Lucas
thanks for your suggestion, I will take it.
this properity is optional, I will add it to DT binding doc
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
WARNING: multiple messages have this Message-ID (diff)
From: Andy Yan <andy.yan@rock-chips.com>
To: Lucas Stach <l.stach@pengutronix.de>
Cc: airlied@linux.ie, heiko@sntech.de, fabio.estevam@freescale.com,
rmk+kernel@arm.linux.org.uk,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Grant Likely <grant.likely@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Shawn Guo <shawn.guo@linaro.org>, Josh Boyer <jwboyer@redhat.com>,
Sean Paul <seanpaul@chromium.org>,
Inki Dae <inki.dae@samsung.com>, Dave Airlie <airlied@redhat.com>,
Arnd Bergmann <arnd@arndb.de>,
Zubair.Kakakhel@imgtec.com, djkurtz@google.com,
ykk@rock-chips.com, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, devel@driverdev.osuosl.org,
devicetree@vger.kernel.org, linux-rockchip@lists.infradead.org,
jay.xu@rock-chips.com
Subject: Re: [PATCH V4 5/6] dw-hdmi: add support for multi byte register width access
Date: Sat, 08 Nov 2014 11:19:42 +0800 [thread overview]
Message-ID: <545D8BCE.1030202@rock-chips.com> (raw)
In-Reply-To: <1415360707.2776.1.camel@pengutronix.de>
On 2014年11月07日 19:45, Lucas Stach wrote:
> Am Freitag, den 07.11.2014, 19:35 +0800 schrieb Andy Yan:
>> On rockchip rk3288, only word(32-bit) accesses are
>> permitted for hdmi registers. Byte width access (writeb,
>> readb) generates an imprecise external abort.
>>
>> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
>> ---
>> drivers/gpu/drm/bridge/dw_hdmi.c | 49 +++++++++++++++++++++++++++++++++++++---
>> 1 file changed, 46 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c
>> index df76a8c..9867642 100644
>> --- a/drivers/gpu/drm/bridge/dw_hdmi.c
>> +++ b/drivers/gpu/drm/bridge/dw_hdmi.c
>> @@ -126,19 +126,42 @@ struct dw_hdmi {
> [...]
>> + u32 val;
>> +
>> + if (!of_property_read_u32(np, "reg-io-width", &val)) {
>> + switch (val) {
>> + case 4:
>> + hdmi->write = dw_hdmi_writel;
>> + hdmi->read = dw_hdmi_readl;
>> + hdmi->reg_shift = 2;
>> + break;
>> + default:
>> + hdmi->write = dw_hdmi_writeb;
>> + hdmi->read = dw_hdmi_readb;
>> + hdmi->reg_shift = 0;
>> + break;
>> + }
>> + } else {
>> + hdmi->write = dw_hdmi_writeb;
>> + hdmi->read = dw_hdmi_readb;
>> + hdmi->reg_shift = 0;
>> + }
>>
>> ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
>> if (ddc_node) {
> This should throw an error if the property value in devicetree is not
> recognized. This could be simplified like this:
>
> u32 val = 1;
>
> // this won't touch val if it can't find the property
> of_property_read_u32(np, "reg-io-width", &val)
>
>
> switch (val) {
> case 4:
> hdmi->write = dw_hdmi_writel;
> hdmi->read = dw_hdmi_readl;
> hdmi->reg_shift = 2;
> break;
> case 1:
> hdmi->write = dw_hdmi_writeb;
> hdmi->read = dw_hdmi_readb;
> hdmi->reg_shift = 0;
> break;
> default:
> dev_err(dev, "unrecognized value for reg-io-width");
> // error handling
> }
>
> Also the DT binding doc for this property is missing.
>
> Regards,
> Lucas
thanks for your suggestion, I will take it.
this properity is optional, I will add it to DT binding doc
next prev parent reply other threads:[~2014-11-08 3:19 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-05 12:54 [PATCH V2 0/2] make imx hdmi publicly used by dw hdmi compatible platform Andy Yan
2014-11-05 12:54 ` Andy Yan
2014-11-05 12:55 ` [PATCH 1/2] imx-drm: imx-hdmi: split imx soc specific code from imx-hdmi Andy Yan
2014-11-05 12:55 ` Andy Yan
2014-11-05 13:41 ` Philipp Zabel
2014-11-05 13:41 ` Philipp Zabel
2014-11-07 2:47 ` Andy Yan
2014-11-07 2:47 ` Andy Yan
2014-11-06 11:21 ` [PATCH V3 0/4] dw-hdmi: make imx hdmi publicly used by dw hdmi compatible platform Andy Yan
2014-11-06 11:21 ` Andy Yan
[not found] ` <1415272913-56889-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2014-11-06 11:23 ` [PATCH V3 1/4] imx-drm: imx-hdmi: split imx soc specific code from imx-hdmi Andy Yan
2014-11-06 11:23 ` Andy Yan
2014-11-06 11:24 ` [PATCH V3 2/4] dw-hdmi: move imx-hdmi to bridge/dw-hdmi Andy Yan
2014-11-06 11:24 ` Andy Yan
2014-11-06 11:25 ` [PATCH V3 3/4] dw-hdmi: add support for multi byte register width access Andy Yan
2014-11-06 11:25 ` Andy Yan
2014-11-06 11:26 ` [PATCH V3 4/4] dw-hdmi: convert dw-hdmi to drm_bridge mode Andy Yan
2014-11-06 11:26 ` Andy Yan
2014-11-06 15:54 ` Greg Kroah-Hartman
2014-11-06 15:54 ` Greg Kroah-Hartman
2014-11-07 2:21 ` Andy Yan
2014-11-07 2:21 ` Andy Yan
2014-11-07 11:27 ` [PATCH V4 0/6] dw-hdmi: make imx hdmi publicly used by dw hdmi compatible platform Andy Yan
2014-11-07 11:27 ` Andy Yan
[not found] ` <1415359672-8402-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2014-11-07 11:30 ` [PATCH V4 1/6] imx-drm: imx-hdmi: split imx soc specific code from imx-hdmi Andy Yan
2014-11-07 11:30 ` Andy Yan
[not found] ` <1415359841-8463-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2014-11-07 11:32 ` [PATCH V4 2/6] dw-hdmi: move imx-hdmi to bridge/dw-hdmi Andy Yan
2014-11-07 11:32 ` Andy Yan
[not found] ` <1415359958-8512-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2014-11-07 11:33 ` [PATCH V4 3/6] dw-hdmi: make checkpatch happy Andy Yan
2014-11-07 11:33 ` Andy Yan
2014-11-07 11:34 ` [PATCH V4 4/6] dw-hdmi: return defer if can't get ddc i2c adapter Andy Yan
2014-11-07 11:34 ` Andy Yan
2014-11-07 11:35 ` [PATCH V4 5/6] dw-hdmi: add support for multi byte register width access Andy Yan
2014-11-07 11:35 ` Andy Yan
2014-11-07 11:36 ` [PATCH V4 6/6] dw-hdmi: convert dw-hdmi to drm_bridge mode Andy Yan
2014-11-07 11:36 ` Andy Yan
2014-11-07 11:45 ` [PATCH V4 5/6] dw-hdmi: add support for multi byte register width access Lucas Stach
2014-11-07 11:45 ` Lucas Stach
2014-11-08 3:19 ` Andy Yan [this message]
2014-11-08 3:19 ` Andy Yan
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=545D8BCE.1030202@rock-chips.com \
--to=andy.yan@rock-chips.com \
--cc=Zubair.Kakakhel@imgtec.com \
--cc=airlied@linux.ie \
--cc=airlied@redhat.com \
--cc=arnd@arndb.de \
--cc=devel@driverdev.osuosl.org \
--cc=devicetree@vger.kernel.org \
--cc=djkurtz@google.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=fabio.estevam@freescale.com \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=heiko@sntech.de \
--cc=inki.dae@samsung.com \
--cc=jay.xu@rock-chips.com \
--cc=jwboyer@redhat.com \
--cc=l.stach@pengutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=p.zabel@pengutronix.de \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=robh+dt@kernel.org \
--cc=seanpaul@chromium.org \
--cc=shawn.guo@linaro.org \
--cc=ykk@rock-chips.com \
/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: link
Be 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.