linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Pankaj Dubey <pankaj.dubey@samsung.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: mathias.nyman@intel.com, gregkh@linuxfoundation.org,
	jingoohan1@gmail.com, krzk@kernel.org, mgautam@codeaurora.org,
	felipe.balbi@linux.intel.com,
	Sriram Dash <sriram.dash@samsung.com>
Subject: Re: [PATCH] usb: xhci: inherit dma_mask from bus if set correctly
Date: Tue, 2 Apr 2019 11:02:40 +0100	[thread overview]
Message-ID: <0d3e8992-06e1-57e4-edd5-ba230caaa189@arm.com> (raw)
In-Reply-To: <1554198011-24342-1-git-send-email-pankaj.dubey@samsung.com>

On 02/04/2019 10:40, Pankaj Dubey wrote:
> From: Sriram Dash <sriram.dash@samsung.com>
> 
> The xhci forcefully converts the dma_mask to either 64 or 32 and the
> dma-mask set by the bus is somewhat ignored. If the platform  sets the
> correct dma_mask, then respect that.

It's expected for dma_mask to be larger than bus_dma_mask if the latter 
is set - conceptually, the device mask represents what the device is 
inherently capable of, while the bus mask represents external 
interconnect restrictions which individual drivers should not have to 
care about. The DMA API backend should take care of combining the two to 
find the intersection. Are you seeing an actual problem here, and if so 
on which platform? (If the bus mask is set at all then it wouldn't seem 
to be the DT PCI issue that I'm still trying to fix).

Robin.

> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> Signed-off-by: Sriram Dash <sriram.dash@samsung.com>
> ---
>   drivers/usb/host/xhci.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index 005e659..55cf89e 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -5119,6 +5119,16 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
>   		dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
>   	}
>   
> +	/*
> +	 * A platform may require coherent masks other than 64/32 bit, and we
> +	 * should respect that. If the firmware has already requested for a
> +	 * dma-range, we inherit the dma_mask presuming the platform knows
> +	 * what it is doing.
> +	 */
> +
> +	if (dev->bus_dma_mask)
> +		dma_set_mask_and_coherent(dev, dev->bus_dma_mask);
> +
>   	xhci_dbg(xhci, "Calling HCD init\n");
>   	/* Initialize HCD and host controller data structures. */
>   	retval = xhci_init(hcd);
> 

  reply	other threads:[~2019-04-02 10:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20190402094246epcas1p1f43795d840b4c3a1f7efddc0523b2c89@epcas1p1.samsung.com>
2019-04-02  9:40 ` [PATCH] usb: xhci: inherit dma_mask from bus if set correctly Pankaj Dubey
2019-04-02 10:02   ` Robin Murphy [this message]
2019-04-02 16:22     ` Pankaj Dubey
2019-04-09  2:56       ` Sriram Dash
2019-04-09 23:02         ` Robin Murphy
2019-04-24  9:05           ` Pankaj Dubey
2019-04-24 10:58             ` Robin Murphy
2019-04-26  4:46               ` Pankaj Dubey
2019-04-26 14:03                 ` Robin Murphy

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=0d3e8992-06e1-57e4-edd5-ba230caaa189@arm.com \
    --to=robin.murphy@arm.com \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jingoohan1@gmail.com \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=mgautam@codeaurora.org \
    --cc=pankaj.dubey@samsung.com \
    --cc=sriram.dash@samsung.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).