[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <C89496FEAE474D468F30D558A9468D9F26CEF0EF@XAP-PVEXMBX01.xlnx.xilinx.com>
Date: Tue, 31 May 2016 05:15:10 +0000
From: Nava kishore Manne <nava.manne@...inx.com>
To: Shubhrajyoti Datta <shubhrajyoti.datta@...il.com>
CC: Rob Herring <robh+dt@...nel.org>, Pawel Moll <pawel.moll@....com>,
"Mark Rutland" <mark.rutland@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Kumar Gala <galak@...eaurora.org>,
"Michal Simek" <michals@...inx.com>,
Soren Brinkmann <sorenb@...inx.com>,
"balbi@...com" <balbi@...com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
Hyun Kwon <hyunk@...inx.com>,
"Radhey Shyam Pandey" <radheys@...inx.com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: RE: [PATCH v4] Axi-usb: Add support for 64-bit addressing.
Hi Shubhrajyoti,
Thanks for the review...
> > /**
> > + * xudc_write64 - write 64bit value to device registers
> > + * @ep: pointer to the usb device endpoint structure.
> > + * @offset: register offset
> > + * @val: data to be written
> > + **/
> > +static void xudc_write64(struct xusb_ep *ep, u32 offset, u64 val) {
> > + struct xusb_udc *udc = ep->udc;
> > +
> > + udc->write_fn(udc->addr, offset, lower_32_bits(val));
> > + udc->write_fn(udc->addr, offset+0x04, upper_32_bits(val));
>
> can we move this to a single 64 bit write?
Initially I sent the patches with writeq() ,lo_hi_writeq() later we decided to replace with write_fun().
The reason for this is lo_hi_writeq() always assumes a little-endian register, so it's broken if anyone builds this device with big-endian registers.
So replaced the 64bit calls with write_fun() as suggested by Arnd Bergmann. Hope it clears your query.
Please refer to the below thread
http://lkml.iu.edu/hypermail/linux/kernel/1604.2/02046.html
Regards,
Navakishore.
Powered by blists - more mailing lists