All of lore.kernel.org
 help / color / mirror / Atom feed
From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 4/7] of: configure the platform device dma parameters
Date: Tue, 6 May 2014 16:44:40 -0400	[thread overview]
Message-ID: <536949B8.3030106@ti.com> (raw)
In-Reply-To: <7182186.5Q53eQg77F@wuerfel>

On Tuesday 06 May 2014 05:40 AM, Arnd Bergmann wrote:
> On Monday 05 May 2014 17:47:32 Santosh Shilimkar wrote:
> 
>> +       dev->coherent_dma_mask = DMA_BIT_MASK(32);
>> +       if (!dev->dma_mask)
>> +               dev->dma_mask = &dev->coherent_dma_mask;
>> +
>> +       /*
>> +        * if dma-ranges property doesn't exist - just return else
>> +        * setup the dma offset
>> +        */
>> +       ret = of_dma_get_range(dev->of_node, &dma_addr, &paddr, &size);
>> +       if (ret < 0) {
>> +               dev_dbg(dev, "no dma range information to setup\n");
>> +               return;
>> +       }
>> +
>> +       /* DMA ranges found. Calculate and set dma_pfn_offset */
>> +       dev->dma_pfn_offset = PFN_DOWN(paddr - dma_addr);
>> +       dev_dbg(dev, "dma_pfn_offset(%#08lx)\n", dev->dma_pfn_offset);
>> +}
> 
> I think there should at least be a comment about why we are computing
> the correct DMA mask here and then ignore that and just use DMA_BIT_MASK(32)
> instead. I understand that Russell and Rob prefer it that way and I'm not
> going to argue, but I find it counterintuitive and I think it deserves
> an explanation in the source code for anybody who is trying to figure
> out how things fit together.
> 
In this patch, the dma_mask related code is just moved. We are not calculating
dma_mask either. I was looking for the history of how DMA_BIT_MASK(32)
landed up but couldn't trace it down apart from the fact that the code was
carried from powerPC. May be Rob knows.

How about below comment ? I didn't delibratly added point about bus
intercepting drivers dma_set_*mask() call etc.

/*
 * Set default dma-mask to 32 bit. Drivers are expected to setup
 * the correct supported dma_mask.
 */  
+       dev->coherent_dma_mask = DMA_BIT_MASK(32);
+       if (!dev->dma_mask)
+               dev->dma_mask = &dev->coherent_dma_mask;

Regards,
Santosh

WARNING: multiple messages have this Message-ID (diff)
From: Santosh Shilimkar <santosh.shilimkar-l0cyMroinI0@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	Grant Likely
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
	Linus Walleij
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"Strashko,
	Grygorii" <grygorii.strashko-l0cyMroinI0@public.gmane.org>
Subject: Re: [PATCH v3 4/7] of: configure the platform device dma parameters
Date: Tue, 6 May 2014 16:44:40 -0400	[thread overview]
Message-ID: <536949B8.3030106@ti.com> (raw)
In-Reply-To: <7182186.5Q53eQg77F@wuerfel>

On Tuesday 06 May 2014 05:40 AM, Arnd Bergmann wrote:
> On Monday 05 May 2014 17:47:32 Santosh Shilimkar wrote:
> 
>> +       dev->coherent_dma_mask = DMA_BIT_MASK(32);
>> +       if (!dev->dma_mask)
>> +               dev->dma_mask = &dev->coherent_dma_mask;
>> +
>> +       /*
>> +        * if dma-ranges property doesn't exist - just return else
>> +        * setup the dma offset
>> +        */
>> +       ret = of_dma_get_range(dev->of_node, &dma_addr, &paddr, &size);
>> +       if (ret < 0) {
>> +               dev_dbg(dev, "no dma range information to setup\n");
>> +               return;
>> +       }
>> +
>> +       /* DMA ranges found. Calculate and set dma_pfn_offset */
>> +       dev->dma_pfn_offset = PFN_DOWN(paddr - dma_addr);
>> +       dev_dbg(dev, "dma_pfn_offset(%#08lx)\n", dev->dma_pfn_offset);
>> +}
> 
> I think there should at least be a comment about why we are computing
> the correct DMA mask here and then ignore that and just use DMA_BIT_MASK(32)
> instead. I understand that Russell and Rob prefer it that way and I'm not
> going to argue, but I find it counterintuitive and I think it deserves
> an explanation in the source code for anybody who is trying to figure
> out how things fit together.
> 
In this patch, the dma_mask related code is just moved. We are not calculating
dma_mask either. I was looking for the history of how DMA_BIT_MASK(32)
landed up but couldn't trace it down apart from the fact that the code was
carried from powerPC. May be Rob knows.

How about below comment ? I didn't delibratly added point about bus
intercepting drivers dma_set_*mask() call etc.

/*
 * Set default dma-mask to 32 bit. Drivers are expected to setup
 * the correct supported dma_mask.
 */  
+       dev->coherent_dma_mask = DMA_BIT_MASK(32);
+       if (!dev->dma_mask)
+               dev->dma_mask = &dev->coherent_dma_mask;

Regards,
Santosh
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robherring2@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Russell King <linux@arm.linux.org.uk>,
	Olof Johansson <olof@lixom.net>,
	Grant Likely <grant.likely@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	"Strashko, Grygorii" <grygorii.strashko@ti.com>
Subject: Re: [PATCH v3 4/7] of: configure the platform device dma parameters
Date: Tue, 6 May 2014 16:44:40 -0400	[thread overview]
Message-ID: <536949B8.3030106@ti.com> (raw)
In-Reply-To: <7182186.5Q53eQg77F@wuerfel>

On Tuesday 06 May 2014 05:40 AM, Arnd Bergmann wrote:
> On Monday 05 May 2014 17:47:32 Santosh Shilimkar wrote:
> 
>> +       dev->coherent_dma_mask = DMA_BIT_MASK(32);
>> +       if (!dev->dma_mask)
>> +               dev->dma_mask = &dev->coherent_dma_mask;
>> +
>> +       /*
>> +        * if dma-ranges property doesn't exist - just return else
>> +        * setup the dma offset
>> +        */
>> +       ret = of_dma_get_range(dev->of_node, &dma_addr, &paddr, &size);
>> +       if (ret < 0) {
>> +               dev_dbg(dev, "no dma range information to setup\n");
>> +               return;
>> +       }
>> +
>> +       /* DMA ranges found. Calculate and set dma_pfn_offset */
>> +       dev->dma_pfn_offset = PFN_DOWN(paddr - dma_addr);
>> +       dev_dbg(dev, "dma_pfn_offset(%#08lx)\n", dev->dma_pfn_offset);
>> +}
> 
> I think there should at least be a comment about why we are computing
> the correct DMA mask here and then ignore that and just use DMA_BIT_MASK(32)
> instead. I understand that Russell and Rob prefer it that way and I'm not
> going to argue, but I find it counterintuitive and I think it deserves
> an explanation in the source code for anybody who is trying to figure
> out how things fit together.
> 
In this patch, the dma_mask related code is just moved. We are not calculating
dma_mask either. I was looking for the history of how DMA_BIT_MASK(32)
landed up but couldn't trace it down apart from the fact that the code was
carried from powerPC. May be Rob knows.

How about below comment ? I didn't delibratly added point about bus
intercepting drivers dma_set_*mask() call etc.

/*
 * Set default dma-mask to 32 bit. Drivers are expected to setup
 * the correct supported dma_mask.
 */  
+       dev->coherent_dma_mask = DMA_BIT_MASK(32);
+       if (!dev->dma_mask)
+               dev->dma_mask = &dev->coherent_dma_mask;

Regards,
Santosh

  reply	other threads:[~2014-05-06 20:44 UTC|newest]

Thread overview: 172+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-24 15:30 [PATCH v3 0/7] of: setup dma parameters using dma-ranges and dma-coherent Santosh Shilimkar
2014-04-24 15:30 ` Santosh Shilimkar
2014-04-24 15:30 ` Santosh Shilimkar
2014-04-24 15:30 ` [PATCH v3 1/7] device: introduce per device dma_pfn_offset Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-05-02  1:01   ` Rob Herring
2014-05-02  1:01     ` Rob Herring
2014-04-24 15:30 ` [PATCH v3 2/7] of: introduce of_dma_get_range() helper Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-05-02  1:06   ` Rob Herring
2014-05-02  1:06     ` Rob Herring
2014-05-02  1:06     ` Rob Herring
2014-04-24 15:30 ` [PATCH v3 3/7] of: introduce of_dma_is_coherent() helper Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-05-02  0:56   ` Rob Herring
2014-05-02  0:56     ` Rob Herring
2014-05-02  0:56     ` Rob Herring
2014-05-05 21:45     ` Santosh Shilimkar
2014-05-05 21:45       ` Santosh Shilimkar
2014-05-05 22:06       ` Rob Herring
2014-05-05 22:06         ` Rob Herring
2014-05-05 22:06         ` Rob Herring
2014-04-24 15:30 ` [PATCH v3 4/7] of: configure the platform device dma parameters Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-29 14:41   ` Grant Likely
2014-04-29 14:41     ` Grant Likely
2014-04-29 14:41     ` Grant Likely
2014-04-30 14:19     ` Santosh Shilimkar
2014-04-30 14:19       ` Santosh Shilimkar
2014-04-30 14:19       ` Santosh Shilimkar
2014-05-01 13:12       ` Grant Likely
2014-05-01 13:12         ` Grant Likely
2014-05-01 13:12         ` Grant Likely
2014-05-01 13:16         ` Santosh Shilimkar
2014-05-01 13:16           ` Santosh Shilimkar
2014-05-01 13:16           ` Santosh Shilimkar
2014-05-02  9:58         ` Arnd Bergmann
2014-05-02  9:58           ` Arnd Bergmann
2014-05-02  9:58           ` Arnd Bergmann
2014-05-02 13:13           ` Santosh Shilimkar
2014-05-02 13:13             ` Santosh Shilimkar
2014-05-02 13:13             ` Santosh Shilimkar
2014-05-02 15:13             ` Arnd Bergmann
2014-05-02 15:13               ` Arnd Bergmann
2014-05-02 15:13               ` Arnd Bergmann
2014-05-27 12:56           ` Grant Likely
2014-05-27 12:56             ` Grant Likely
2014-05-27 12:56             ` Grant Likely
2014-05-27 13:30             ` Arnd Bergmann
2014-05-27 13:30               ` Arnd Bergmann
2014-05-28  8:23               ` Linus Walleij
2014-05-28  8:23                 ` Linus Walleij
2014-05-28 13:29                 ` Arnd Bergmann
2014-05-28 13:29                   ` Arnd Bergmann
2014-05-28 13:29                   ` Arnd Bergmann
2014-05-28 13:32                   ` Linus Walleij
2014-05-28 13:32                     ` Linus Walleij
2014-05-28 13:32                     ` Linus Walleij
2014-05-28 14:04                     ` Santosh Shilimkar
2014-05-28 14:04                       ` Santosh Shilimkar
2014-05-28 14:04                       ` Santosh Shilimkar
2014-05-29 14:01                       ` Linus Walleij
2014-05-29 14:01                         ` Linus Walleij
2014-05-29 14:08                         ` Santosh Shilimkar
2014-05-29 14:08                           ` Santosh Shilimkar
2014-05-29 19:24                           ` Arnd Bergmann
2014-05-29 19:24                             ` Arnd Bergmann
2014-05-29 19:24                             ` Arnd Bergmann
2014-05-29 20:04                             ` Santosh Shilimkar
2014-05-29 20:04                               ` Santosh Shilimkar
2014-05-29 20:04                               ` Santosh Shilimkar
2014-05-02  0:49   ` Rob Herring
2014-05-02  0:49     ` Rob Herring
2014-05-02  0:49     ` Rob Herring
2014-05-05 21:47     ` Santosh Shilimkar
2014-05-05 21:47       ` Santosh Shilimkar
2014-05-05 21:47       ` Santosh Shilimkar
2014-05-05 22:08       ` Rob Herring
2014-05-05 22:08         ` Rob Herring
2014-05-06  9:40       ` Arnd Bergmann
2014-05-06  9:40         ` Arnd Bergmann
2014-05-06  9:40         ` Arnd Bergmann
2014-05-06 20:44         ` Santosh Shilimkar [this message]
2014-05-06 20:44           ` Santosh Shilimkar
2014-05-06 20:44           ` Santosh Shilimkar
2014-05-07 13:24           ` Santosh Shilimkar
2014-05-07 13:24             ` Santosh Shilimkar
2014-05-02 16:54   ` Bjorn Helgaas
2014-05-02 16:54     ` Bjorn Helgaas
2014-05-02 16:54     ` Bjorn Helgaas
2014-05-02 18:59     ` Arnd Bergmann
2014-05-02 18:59       ` Arnd Bergmann
2014-05-05 20:45       ` Bjorn Helgaas
2014-05-05 20:45         ` Bjorn Helgaas
2014-05-05 20:45         ` Bjorn Helgaas
2014-05-05 20:55         ` Arnd Bergmann
2014-05-05 20:55           ` Arnd Bergmann
2014-05-05 20:55           ` Arnd Bergmann
2014-05-05 22:28           ` Bjorn Helgaas
2014-05-05 22:28             ` Bjorn Helgaas
2014-05-05 22:28             ` Bjorn Helgaas
2014-05-06  3:44             ` Benjamin Herrenschmidt
2014-05-06  3:44               ` Benjamin Herrenschmidt
2014-05-06  9:54               ` Arnd Bergmann
2014-05-06  9:54                 ` Arnd Bergmann
2014-05-06  9:54                 ` Arnd Bergmann
2014-05-06 13:32                 ` Santosh Shilimkar
2014-05-06 13:32                   ` Santosh Shilimkar
2014-05-06 13:32                   ` Santosh Shilimkar
2014-04-24 15:30 ` [PATCH v3 5/7] ARM: dma: Use dma_pfn_offset for dma address translation Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-05-02 14:32   ` Rob Herring
2014-05-02 14:32     ` Rob Herring
2014-05-02 14:32     ` Rob Herring
2014-05-02 14:58   ` Russell King - ARM Linux
2014-05-02 14:58     ` Russell King - ARM Linux
2014-05-02 15:05     ` Santosh Shilimkar
2014-05-02 15:05       ` Santosh Shilimkar
2014-05-02 15:05       ` Santosh Shilimkar
2014-05-05 19:50       ` Russell King - ARM Linux
2014-05-05 19:50         ` Russell King - ARM Linux
2014-05-05 21:43         ` Santosh Shilimkar
2014-05-05 21:43           ` Santosh Shilimkar
2014-05-05 21:43           ` Santosh Shilimkar
2014-04-24 15:30 ` [PATCH v3 6/7] ARM: dma: implement set_arch_dma_coherent_ops() Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-05-02  0:58   ` Rob Herring
2014-05-02  0:58     ` Rob Herring
2014-05-02  0:58     ` Rob Herring
2014-04-24 15:30 ` [PATCH v3 7/7] ARM: dma: use phys_addr_t in __dma_page_[cpu_to_dev/dev_to_cpu] Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-24 15:30   ` Santosh Shilimkar
2014-04-24 15:45   ` Will Deacon
2014-04-24 15:45     ` Will Deacon
2014-05-01 13:19 ` [PATCH v3 0/7] of: setup dma parameters using dma-ranges and dma-coherent Santosh Shilimkar
2014-05-01 13:19   ` Santosh Shilimkar
2014-05-01 13:19   ` Santosh Shilimkar
2014-05-01 13:25   ` Russell King - ARM Linux
2014-05-01 13:25     ` Russell King - ARM Linux
2014-05-01 14:06     ` Santosh Shilimkar
2014-05-01 14:06       ` Santosh Shilimkar
2014-05-01 14:06       ` Santosh Shilimkar
2014-05-02 14:41     ` Rob Herring
2014-05-02 14:41       ` Rob Herring
2014-05-02 14:41       ` Rob Herring
2014-05-02 16:41       ` Santosh Shilimkar
2014-05-02 16:41         ` Santosh Shilimkar
2014-05-14 10:12     ` Grant Likely
2014-05-14 10:12       ` Grant Likely
2014-05-14 10:12       ` Grant Likely
2014-06-02  6:37 ` Shawn Guo
2014-06-02  6:37   ` Shawn Guo
2014-06-02  6:37   ` Shawn Guo
2014-06-02 13:24   ` Santosh Shilimkar
2014-06-02 13:24     ` Santosh Shilimkar
2014-06-02 15:06     ` Arnd Bergmann
2014-06-02 15:06       ` Arnd Bergmann
2014-06-02 15:06       ` Arnd Bergmann
2014-06-02 15:54       ` Santosh Shilimkar
2014-06-02 15:54         ` Santosh Shilimkar
2014-06-02 15:54         ` Santosh Shilimkar
2014-06-02 19:00         ` Arnd Bergmann
2014-06-02 19:00           ` Arnd Bergmann
2014-06-02 19:08           ` Santosh Shilimkar
2014-06-02 19:08             ` Santosh Shilimkar
2014-06-02 19:08             ` Santosh Shilimkar

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=536949B8.3030106@ti.com \
    --to=santosh.shilimkar@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.