From: Chris Brandt <chris.brandt@renesas.com> To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Simon Horman <horms@verge.net.au>, Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org>, Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>, Chunfeng Yun <chunfeng.yun@mediatek.com>, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Chris Subject: [PATCH v3 10/15] usb: renesas_usbhs: support byte addressable CFIFO Date: Tue, 14 May 2019 09:56:00 -0500 [thread overview] Message-ID: <20190514145605.19112-11-chris.brandt@renesas.com> (raw) In-Reply-To: <20190514145605.19112-1-chris.brandt@renesas.com> Some SoC have a CFIFO register that is byte addressable. This means when the CFIFO access is set to 32-bit, you can write 8-bit values to addresses CFIFO+0, CFIFO+1, CFIFO+2, CFIFO+3. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> --- v2: * options ahve moved from flags to param --- drivers/usb/renesas_usbhs/fifo.c | 9 +++++++-- include/linux/usb/renesas_usbhs.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/usb/renesas_usbhs/fifo.c b/drivers/usb/renesas_usbhs/fifo.c index 39fa2fc1b8b7..452b456ac24e 100644 --- a/drivers/usb/renesas_usbhs/fifo.c +++ b/drivers/usb/renesas_usbhs/fifo.c @@ -543,8 +543,13 @@ static int usbhsf_pio_try_push(struct usbhs_pkt *pkt, int *is_done) } /* the rest operation */ - for (i = 0; i < len; i++) - iowrite8(buf[i], addr + (0x03 - (i & 0x03))); + if (usbhs_get_dparam(priv, cfifo_byte_addr)) { + for (i = 0; i < len; i++) + iowrite8(buf[i], addr + (i & 0x03)); + } else { + for (i = 0; i < len; i++) + iowrite8(buf[i], addr + (0x03 - (i & 0x03))); + } /* * variable update diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h index 9097a38fcda8..87043fd21d54 100644 --- a/include/linux/usb/renesas_usbhs.h +++ b/include/linux/usb/renesas_usbhs.h @@ -191,6 +191,7 @@ struct renesas_usbhs_driver_param { u32 has_usb_dmac:1; /* for USB-DMAC */ u32 runtime_pwctrl:1; u32 has_cnen:1; + u32 cfifo_byte_addr:1; /* CFIFO is byte addressable */ #define USBHS_USB_DMAC_XFER_SIZE 32 /* hardcode the xfer size */ }; -- 2.16.1
WARNING: multiple messages have this Message-ID (diff)
From: Chris Brandt <chris.brandt@renesas.com> To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Simon Horman <horms@verge.net.au>, Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org>, Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>, Chunfeng Yun <chunfeng.yun@mediatek.com>, <linux-usb@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-renesas-soc@vger.kernel.org>, "Chris Brandt" <chris.brandt@renesas.com> Subject: [PATCH v3 10/15] usb: renesas_usbhs: support byte addressable CFIFO Date: Tue, 14 May 2019 09:56:00 -0500 [thread overview] Message-ID: <20190514145605.19112-11-chris.brandt@renesas.com> (raw) In-Reply-To: <20190514145605.19112-1-chris.brandt@renesas.com> Some SoC have a CFIFO register that is byte addressable. This means when the CFIFO access is set to 32-bit, you can write 8-bit values to addresses CFIFO+0, CFIFO+1, CFIFO+2, CFIFO+3. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> --- v2: * options ahve moved from flags to param --- drivers/usb/renesas_usbhs/fifo.c | 9 +++++++-- include/linux/usb/renesas_usbhs.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/usb/renesas_usbhs/fifo.c b/drivers/usb/renesas_usbhs/fifo.c index 39fa2fc1b8b7..452b456ac24e 100644 --- a/drivers/usb/renesas_usbhs/fifo.c +++ b/drivers/usb/renesas_usbhs/fifo.c @@ -543,8 +543,13 @@ static int usbhsf_pio_try_push(struct usbhs_pkt *pkt, int *is_done) } /* the rest operation */ - for (i = 0; i < len; i++) - iowrite8(buf[i], addr + (0x03 - (i & 0x03))); + if (usbhs_get_dparam(priv, cfifo_byte_addr)) { + for (i = 0; i < len; i++) + iowrite8(buf[i], addr + (i & 0x03)); + } else { + for (i = 0; i < len; i++) + iowrite8(buf[i], addr + (0x03 - (i & 0x03))); + } /* * variable update diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h index 9097a38fcda8..87043fd21d54 100644 --- a/include/linux/usb/renesas_usbhs.h +++ b/include/linux/usb/renesas_usbhs.h @@ -191,6 +191,7 @@ struct renesas_usbhs_driver_param { u32 has_usb_dmac:1; /* for USB-DMAC */ u32 runtime_pwctrl:1; u32 has_cnen:1; + u32 cfifo_byte_addr:1; /* CFIFO is byte addressable */ #define USBHS_USB_DMAC_XFER_SIZE 32 /* hardcode the xfer size */ }; -- 2.16.1
next prev parent reply other threads:[~2019-05-14 14:56 UTC|newest] Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-14 14:55 [PATCH v3 00/15] usb: Add host and device support for RZ/A2 Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-14 14:55 ` [PATCH v3 01/15] ARM: dts: r7s9210: Add USB clock Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-15 7:38 ` Geert Uytterhoeven 2019-05-15 7:38 ` Geert Uytterhoeven 2019-05-15 7:52 ` Simon Horman 2019-05-15 7:52 ` Simon Horman 2019-05-14 14:55 ` [PATCH v3 02/15] ARM: dts: rza2mevb: Add 48MHz " Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-15 7:43 ` Geert Uytterhoeven 2019-05-15 7:43 ` Geert Uytterhoeven 2019-05-15 7:53 ` Simon Horman 2019-05-15 7:53 ` Simon Horman 2019-05-14 14:55 ` [PATCH v3 03/15] phy: renesas: rcar-gen3-usb2: detect usb_x1 clock Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-15 7:32 ` Yoshihiro Shimoda 2019-05-15 7:32 ` Yoshihiro Shimoda 2019-05-15 8:02 ` Simon Horman 2019-05-15 8:30 ` Kuninori Morimoto 2019-05-15 8:30 ` Kuninori Morimoto 2019-05-14 14:55 ` [PATCH v3 04/15] dt-bindings: rcar-gen3-phy-usb2: Document use of usb_x1 Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-14 19:29 ` Rob Herring 2019-05-14 19:29 ` Rob Herring 2019-05-15 7:33 ` Yoshihiro Shimoda 2019-05-15 7:33 ` Yoshihiro Shimoda 2019-05-15 7:35 ` Geert Uytterhoeven 2019-05-15 7:35 ` Geert Uytterhoeven 2019-05-15 8:39 ` Sergei Shtylyov 2019-05-15 8:39 ` Sergei Shtylyov 2019-05-15 9:03 ` Geert Uytterhoeven 2019-05-15 9:03 ` Geert Uytterhoeven 2019-05-15 7:57 ` Simon Horman 2019-05-14 14:55 ` [PATCH v3 05/15] phy: renesas: rcar-gen3-usb2: Check dr_mode when not using OTG Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-15 7:34 ` Yoshihiro Shimoda 2019-05-15 7:34 ` Yoshihiro Shimoda 2019-05-15 8:01 ` Simon Horman 2019-05-14 14:55 ` [PATCH v3 06/15] dt-bindings: rcar-gen3-phy-usb2: Document dr_mode Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-14 19:29 ` Rob Herring 2019-05-14 19:29 ` Rob Herring 2019-05-15 7:36 ` Yoshihiro Shimoda 2019-05-15 7:36 ` Yoshihiro Shimoda 2019-05-15 7:56 ` Simon Horman 2019-05-14 14:55 ` [PATCH v3 07/15] dt-bindings: rcar-gen3-phy-usb2: Add r7s9210 support Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-14 19:30 ` Rob Herring 2019-05-14 19:30 ` Rob Herring 2019-05-15 7:37 ` Yoshihiro Shimoda 2019-05-15 7:37 ` Yoshihiro Shimoda 2019-05-15 7:56 ` Simon Horman 2019-05-14 14:55 ` [PATCH v3 08/15] usb: renesas_usbhs: move flags to param Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-15 7:45 ` Yoshihiro Shimoda 2019-05-15 7:45 ` Yoshihiro Shimoda 2019-05-15 7:55 ` Simon Horman 2019-05-14 14:55 ` [PATCH v3 09/15] usb: renesas_usbhs: add support for CNEN bit Chris Brandt 2019-05-14 14:55 ` Chris Brandt 2019-05-15 7:46 ` Yoshihiro Shimoda 2019-05-15 7:46 ` Yoshihiro Shimoda 2019-05-15 7:55 ` Simon Horman 2019-05-14 14:56 ` Chris Brandt [this message] 2019-05-14 14:56 ` [PATCH v3 10/15] usb: renesas_usbhs: support byte addressable CFIFO Chris Brandt 2019-05-15 7:48 ` Yoshihiro Shimoda 2019-05-15 7:48 ` Yoshihiro Shimoda 2019-05-15 7:57 ` Yoshihiro Shimoda 2019-05-15 7:57 ` Yoshihiro Shimoda 2019-05-15 8:05 ` Simon Horman 2019-05-14 14:56 ` [PATCH v3 11/15] usb: renesas_usbhs: Add support for RZ/A2 Chris Brandt 2019-05-14 14:56 ` Chris Brandt 2019-05-15 7:52 ` Yoshihiro Shimoda 2019-05-15 7:52 ` Yoshihiro Shimoda 2019-05-15 13:09 ` Chris Brandt 2019-05-15 13:09 ` Chris Brandt 2019-05-15 8:06 ` Simon Horman 2019-05-15 8:26 ` Kuninori Morimoto 2019-05-15 8:26 ` Kuninori Morimoto 2019-05-15 14:18 ` Chris Brandt 2019-05-15 14:18 ` Chris Brandt 2019-05-14 14:56 ` [PATCH v3 12/15] dt-bindings: usb: renesas_usbhs: Add support for r7s9210 Chris Brandt 2019-05-14 14:56 ` Chris Brandt 2019-05-14 19:30 ` Rob Herring 2019-05-14 19:30 ` Rob Herring 2019-05-15 7:53 ` Yoshihiro Shimoda 2019-05-15 7:53 ` Yoshihiro Shimoda 2019-05-15 8:00 ` Geert Uytterhoeven 2019-05-15 8:00 ` Geert Uytterhoeven 2019-05-15 13:11 ` Chris Brandt 2019-05-15 13:11 ` Chris Brandt 2019-05-15 8:07 ` Simon Horman 2019-05-14 14:56 ` [PATCH v3 13/15] ARM: dts: r7s9210: Add USB Host support Chris Brandt 2019-05-14 14:56 ` Chris Brandt 2019-05-15 7:59 ` Geert Uytterhoeven 2019-05-15 7:59 ` Geert Uytterhoeven 2019-05-15 13:38 ` Chris Brandt 2019-05-15 13:38 ` Chris Brandt 2019-05-15 9:05 ` Geert Uytterhoeven 2019-05-15 9:05 ` Geert Uytterhoeven 2019-05-14 14:56 ` [PATCH v3 14/15] ARM: dts: r7s9210: Add USB Device support Chris Brandt 2019-05-14 14:56 ` Chris Brandt 2019-05-15 8:02 ` Geert Uytterhoeven 2019-05-15 8:02 ` Geert Uytterhoeven 2019-05-14 14:56 ` [PATCH v3 15/15] ARM: dts: rza2mevb: Add USB host support Chris Brandt 2019-05-14 14:56 ` Chris Brandt 2019-05-15 8:21 ` Geert Uytterhoeven 2019-05-15 8:21 ` Geert Uytterhoeven 2019-05-15 14:03 ` Chris Brandt 2019-05-15 14:03 ` Chris Brandt 2019-05-15 14:33 ` Geert Uytterhoeven 2019-05-15 14:33 ` Geert Uytterhoeven 2019-05-15 14:54 ` Chris Brandt 2019-05-15 14:54 ` Chris Brandt
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=20190514145605.19112-11-chris.brandt@renesas.com \ --to=chris.brandt@renesas.com \ --cc=chunfeng.yun@mediatek.com \ --cc=devicetree@vger.kernel.org \ --cc=geert@linux-m68k.org \ --cc=gregkh@linuxfoundation.org \ --cc=horms@verge.net.au \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=robh+dt@kernel.org \ --cc=sergei.shtylyov@cogentembedded.com \ --cc=yoshihiro.shimoda.uh@renesas.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: 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.