Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-20 Thread Evan Green
On Mon, May 20, 2019 at 9:50 AM Alex Elder wrote: > > On 5/20/19 11:34 AM, Evan Green wrote: > > On Mon, May 20, 2019 at 7:44 AM Alex Elder wrote: > >> > >> On 5/20/19 9:43 AM, Arnd Bergmann wrote: > >>> I have no idea how two 8-bit assignments could do that, > >>> it sounds like a serious gcc bu

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-20 Thread Alex Elder
On 5/20/19 11:34 AM, Evan Green wrote: > On Mon, May 20, 2019 at 7:44 AM Alex Elder wrote: >> >> On 5/20/19 9:43 AM, Arnd Bergmann wrote: >>> I have no idea how two 8-bit assignments could do that, >>> it sounds like a serious gcc bug, unless you mean two >>> 8-byte assignments, which would be wit

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-20 Thread Evan Green
On Mon, May 20, 2019 at 7:44 AM Alex Elder wrote: > > On 5/20/19 9:43 AM, Arnd Bergmann wrote: > > I have no idea how two 8-bit assignments could do that, > > it sounds like a serious gcc bug, unless you mean two > > 8-byte assignments, which would be within the range > > of expected behavior. If

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-20 Thread Alex Elder
On 5/20/19 9:43 AM, Arnd Bergmann wrote: > I have no idea how two 8-bit assignments could do that, > it sounds like a serious gcc bug, unless you mean two > 8-byte assignments, which would be within the range > of expected behavior. If it's actually 8-bit stores, please > open a bug against gcc wit

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-20 Thread Arnd Bergmann
On Mon, May 20, 2019 at 2:50 PM Alex Elder wrote: > > On 5/20/19 4:25 AM, Arnd Bergmann wrote: > > On Sun, May 19, 2019 at 7:11 PM Alex Elder wrote: > >> On 5/17/19 1:44 PM, Alex Elder wrote: > >>> On 5/17/19 1:33 PM, Arnd Bergmann wrote: > On Fri, May 17, 2019 at 8:08 PM Alex Elder > >> >

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-20 Thread Alex Elder
On 5/20/19 4:25 AM, Arnd Bergmann wrote: > On Sun, May 19, 2019 at 7:11 PM Alex Elder wrote: >> On 5/17/19 1:44 PM, Alex Elder wrote: >>> On 5/17/19 1:33 PM, Arnd Bergmann wrote: On Fri, May 17, 2019 at 8:08 PM Alex Elder >> >> So it seems that I must *not* apply a volatile qualifier, >> bec

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-20 Thread Arnd Bergmann
On Sun, May 19, 2019 at 7:11 PM Alex Elder wrote: > On 5/17/19 1:44 PM, Alex Elder wrote: > > On 5/17/19 1:33 PM, Arnd Bergmann wrote: > >> On Fri, May 17, 2019 at 8:08 PM Alex Elder > > So it seems that I must *not* apply a volatile qualifier, > because doing so restricts the compiler from makin

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-19 Thread Alex Elder
On 5/17/19 1:44 PM, Alex Elder wrote: > On 5/17/19 1:33 PM, Arnd Bergmann wrote: >> On Fri, May 17, 2019 at 8:08 PM Alex Elder >> wrote: >>> >>> On 5/15/19 2:34 AM, Arnd Bergmann wrote: > +static void gsi_trans_tre_fill(struct gsi_tre *dest_tre, > dma_addr_t addr, +

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-17 Thread Alex Elder
On 5/17/19 1:33 PM, Arnd Bergmann wrote: > On Fri, May 17, 2019 at 8:08 PM Alex Elder wrote: >> >> On 5/15/19 2:34 AM, Arnd Bergmann wrote: +static void gsi_trans_tre_fill(struct gsi_tre *dest_tre, dma_addr_t addr, + u32 len, bool last_tre, bool bei, +

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-17 Thread Arnd Bergmann
On Fri, May 17, 2019 at 8:08 PM Alex Elder wrote: > > On 5/15/19 2:34 AM, Arnd Bergmann wrote: > >> +static void gsi_trans_tre_fill(struct gsi_tre *dest_tre, dma_addr_t addr, > >> + u32 len, bool last_tre, bool bei, > >> + enum ipa_cmd_opco

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-17 Thread Alex Elder
On 5/15/19 2:34 AM, Arnd Bergmann wrote: >> +static void gsi_trans_tre_fill(struct gsi_tre *dest_tre, dma_addr_t addr, >> + u32 len, bool last_tre, bool bei, >> + enum ipa_cmd_opcode opcode) >> +{ >> + struct gsi_tre tre; >> + >> +

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-15 Thread Arnd Bergmann
On Wed, May 15, 2019 at 2:26 PM Alex Elder wrote: > On 5/15/19 2:34 AM, Arnd Bergmann wrote: > >> +/* Cancel a channel's pending transactions */ > >> +void gsi_channel_trans_cancel_pending(struct gsi_channel *channel) > >> +{ > >> + struct gsi_trans_info *trans_info = &channel->trans_info; >

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-15 Thread Alex Elder
On 5/15/19 2:34 AM, Arnd Bergmann wrote: >> +static void gsi_trans_tre_fill(struct gsi_tre *dest_tre, dma_addr_t addr, >> + u32 len, bool last_tre, bool bei, >> + enum ipa_cmd_opcode opcode) >> +{ >> + struct gsi_tre tre; >> + >> +

Re: [PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-15 Thread Arnd Bergmann
> +static void gsi_trans_tre_fill(struct gsi_tre *dest_tre, dma_addr_t addr, > + u32 len, bool last_tre, bool bei, > + enum ipa_cmd_opcode opcode) > +{ > + struct gsi_tre tre; > + > + tre.addr = cpu_to_le64(addr); > + tre.l

[PATCH 09/18] soc: qcom: ipa: GSI transactions

2019-05-11 Thread Alex Elder
This patch implements GSI transactions. A GSI transaction is a structure that represents a single request (consisting of one or more TREs) sent to the GSI hardware. The last TRE in a transaction includes a flag requesting that the GSI interrupt the AP to notify that it has completed. TREs are ex