Am 20.09.2013 19:03, schrieb Stephen Warren:
On 09/20/2013 10:37 AM, Dirk Behme wrote:
Am 20.09.2013 18:05, schrieb Stephen Warren:
On 09/18/2013 11:22 PM, Dirk Behme wrote:
...
If you have an embedded system were you just care a little about boot
time you don't want to do anything like U-Boot
On Fri, Sep 20, 2013 at 4:04 PM, Christian Daudt wrote:
> Currently ARCH_BCM has been used for Broadcom
> Mobile V7 based SoCs. In order to allow other Broadcom
> SoCs to also use mach-bcm directory and files, this patch
> renames the original ARCH_BCM to ARCH_BCM_MOBILE, and
> uses ARCH_BCM to de
Currently ARCH_BCM has been used for Broadcom
Mobile V7 based SoCs. In order to allow other Broadcom
SoCs to also use mach-bcm directory and files, this patch
renames the original ARCH_BCM to ARCH_BCM_MOBILE, and
uses ARCH_BCM to define any Broadcom chip residing
in mach-bcm directory.
Signed-off-
Hey,
On Fri, Sep 20, 2013 at 03:00:18PM +0100, Russell King - ARM Linux wrote:
> Another would be if subsystem maintainers are happy that I carry them,
> I can add the acks, and then later on towards the end of the cycle,
> provide a branch subsystem maintainers could pull.
>
> Or... if you can t
On 13-09-17 12:59 AM, Axel Lin wrote:
This avoid duplicated implementation and also fixes missing iounmap() and
release_mem_region() calls in sdhci_bcm_kona_remove().
sdhci_pltfm_init() calls request_mem_region() and ioremap(), thus we need to
call the corresponding iounmap() and release_mem_regi
Hi Balaji,
>> My test shows that I'm having some timeout in some cases (v3.4.60):
>> omap_hsmmc omap_hsmmc.0: IRQ Status is 18000
>> omap_hsmmc omap_hsmmc.0: MMC IRQ 0x18000 : ERRI CTO
>> mmc0: req done (CMD52): -110:
>> mmc0: starting CMD52 arg 8c08 flags 0
On 09/20/2013 10:37 AM, Dirk Behme wrote:
> Am 20.09.2013 18:05, schrieb Stephen Warren:
>> On 09/18/2013 11:22 PM, Dirk Behme wrote:
>> ...
>>> If you have an embedded system were you just care a little about boot
>>> time you don't want to do anything like U-Boot's "part uuid" every time
>>> you
Am Donnerstag, 19. September 2013, 23:49:01 schrieb Russell King:
> The DMA API requires drivers to call the appropriate dma_set_mask()
> functions before doing any DMA mapping. Add this required call to
> the AMBA PL08x driver.
^--- copy and paste error - should of course
Am 20.09.2013 18:05, schrieb Stephen Warren:
On 09/18/2013 11:22 PM, Dirk Behme wrote:
...
If you have an embedded system were you just care a little about boot
time you don't want to do anything like U-Boot's "part uuid" every time
you boot. Or even worse, you just have a minimalistic boot load
On 09/20/2013 12:30 AM, Chaiken, Alison wrote:
> Stephen Warren writes:
>> Patches to make mmc block devices have static names have been proposed
>> in the past and rejected. I think the main reason is that the block
>> device names are (or can be) dynamic, so anything that assumes a
>> particular
On 09/18/2013 11:22 PM, Dirk Behme wrote:
...
> If you have an embedded system were you just care a little about boot
> time you don't want to do anything like U-Boot's "part uuid" every time
> you boot. Or even worse, you just have a minimalistic boot loader (e.g.
> U-Boot's SPL) which doesn't kno
Hi,
On Fri, Sep 20, 2013 at 02:49:38PM +0100, Russell King - ARM Linux wrote:
> On Fri, Sep 20, 2013 at 08:11:25AM -0500, Felipe Balbi wrote:
> > Hi,
> >
> > On Fri, Sep 20, 2013 at 12:14:38AM +0100, Russell King wrote:
> > > Use platform_device_register_full() for those drivers which can, to
> >
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
arch/powerpc/kernel/vio.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --g
The DMA API requires drivers to call the appropriate dma_set_mask()
functions before doing any DMA mapping. Add this required call to
the AMBA PL08x driver.
Signed-off-by: Russell King
---
drivers/dma/amba-pl08x.c |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/driv
Don't statically allocate struct device's in modules, and shut the
warning up with an empty release() function. There's a reason that
warning is there and that's not for people to hide in this way. It's
there to persuade people to use the correct APIs to allocate platform
devices.
Signed-off-by:
On Fri, Sep 20, 2013 at 02:21:37AM +0100, Ben Hutchings wrote:
> On Thu, 2013-09-19 at 22:25 +0100, Russell King wrote:
> [...]
> > -dma_set_coherent_mask() will always be able to set the same or a
> > -smaller mask as dma_set_mask(). However for the rare case that a
> > +The coherent coherent mask
On Fri, Sep 20, 2013 at 07:16:52AM -0500, Tejun Heo wrote:
> On Fri, Sep 20, 2013 at 12:11:38AM +0100, Russell King wrote:
> > The correct way for a driver to specify the coherent DMA mask is
> > not to directly access the field in the struct device, but to use
> > dma_set_coherent_mask(). Only ar
On Fri, Sep 20, 2013 at 08:11:25AM -0500, Felipe Balbi wrote:
> Hi,
>
> On Fri, Sep 20, 2013 at 12:14:38AM +0100, Russell King wrote:
> > Use platform_device_register_full() for those drivers which can, to
> > avoid messing directly with DMA masks. This can only be done when
> > the driver does n
Hi,
On Fri, Sep 20, 2013 at 12:14:38AM +0100, Russell King wrote:
> Use platform_device_register_full() for those drivers which can, to
> avoid messing directly with DMA masks. This can only be done when
> the driver does not need to access the allocated musb platform device
> from within its cal
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/ethernet/broadcom/b44.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and bus code should access this
member directly.
Convert all direct write accesses to using the correct API.
Signed-off-by: Russel
Signed-off-by: Russell King
---
drivers/usb/chipidea/ci_hdrc_imx.c |4 +---
drivers/usb/dwc3/dwc3-exynos.c |4 +---
drivers/usb/host/ehci-atmel.c |4 +---
drivers/usb/host/ehci-omap.c |4 +---
drivers/usb/host/ehci-orion.c |4 +---
drivers/usb/host/ehci-pla
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and bus code should access this
member directly.
Convert all direct write accesses to using the correct API.
Signed-off-by: Russel
The code sequence:
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(64);
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct initialization
of this mask.
Signed-o
The code sequence:
pldat->pdev->dev.coherent_dma_mask = 0x;
pldat->pdev->dev.dma_mask = &pldat->pdev->dev.coherent_dma_mask;
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct initialization
of this
The code sequence:
dev->dma_mask = &dev->coherent_dma_mask;
dev->coherent_dma_mask = dma_mask;
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct initialization
of this mask.
Signed-off-by: Russell King
--
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/wireless/b43/dma.c |9 +++--
1 files changed, 3 insertions(+), 6 deletions(-
On Fri, Sep 20, 2013 at 07:16:52AM -0500, Tejun Heo wrote:
> On Fri, Sep 20, 2013 at 12:11:38AM +0100, Russell King wrote:
> > The correct way for a driver to specify the coherent DMA mask is
> > not to directly access the field in the struct device, but to use
> > dma_set_coherent_mask(). Only ar
On Fri, Sep 20, 2013 at 12:11:38AM +0100, Russell King wrote:
> The correct way for a driver to specify the coherent DMA mask is
> not to directly access the field in the struct device, but to use
> dma_set_coherent_mask(). Only arch and bus code should access this
> member directly.
>
> Convert
The code sequence:
isp->raw_dmamask = DMA_BIT_MASK(32);
isp->dev->dma_mask = &isp->raw_dmamask;
isp->dev->coherent_dma_mask = DMA_BIT_MASK(32);
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct init
This code sequence:
if (!pdev->dev.dma_mask) {
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
}
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent
Convert this code sequence:
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(64);
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
to use dma_coerce_mask_and_coherent() to avoid bypassing the architecture
check on the DMA mask.
Signed-off-by: Russell King
---
drivers/ata/pata_octeon_
This code sequence is unsafe in modules:
static u64 mask = DMA_BIT_MASK(something);
...
if (!dev->dma_mask)
dev->dma_mask = &mask;
as if a module is reloaded, the mask will be pointing at the original
module's mask address, and this can lead to oopses. Moreover, they
all
Add a comment to explain why this driver doesn't call any of the DMA
API dma_set_mask() functions.
Signed-off-by: Russell King
---
drivers/usb/host/ohci-sa.c |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/usb/host/ohci-sa.c b/drivers/usb/host/ohci-s
Many drivers contain code such as:
dev->dma_mask = &dev->coherent_dma_mask;
dev->coherent_dma_mask = MASK;
Let's move this pattern out of drivers and have the DMA API provide a
helper for it. This helper uses dma_set_mask_and_coherent() to allow
platform issues to be properly dea
The DMA API requires drivers to call the appropriate dma_set_mask()
functions before doing any DMA mapping. Add this required call to
the AMBA PL08x driver.
Signed-off-by: Russell King
---
drivers/video/amba-clcd.c |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/dri
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/usb/host/ssb-hcd.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/usb/host/bcma-hcd.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff -
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/wireless/b43legacy/dma.c |9 +++--
1 files changed, 3 insertions(+), 6 delet
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c |8 ++--
1 files changed, 2 insertions(
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/staging/media/dt3155v4l/dt3155v4l.c |5 +
1 files changed, 1 insertions(+), 4 de
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/block/nvme-core.c | 10 --
1 files changed, 4 insertions(+), 6 deletions(-)
d
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/ethernet/intel/e1000/e1000_main.c |9 ++---
1 files changed, 2 insertions(+)
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/staging/et131x/et131x.c | 17 ++---
1 files changed, 2 insertions(+), 15 d
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/ethernet/sfc/efx.c | 12 +---
1 files changed, 1 insertions(+), 11 deletio
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King
---
drivers/net/ethernet/emulex/benet/be_main.c | 12 ++--
1 files changed, 2 insertions(+
The DMA API requires drivers to call the appropriate dma_set_mask()
functions before doing any DMA mapping. Add this required call to
the AMBA PL08x driver.
Signed-off-by: Russell King
---
drivers/dma/pl330.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/dm
AMBA Primecell devices always treat streaming and coherent DMA exactly
the same, so there's no point in having the masks separated.
Signed-off-by: Russell King
---
drivers/amba/bus.c |6 +-
drivers/of/platform.c|3 ---
include/linux/amba/bus.h |2 --
3 files changed, 1
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and bus code should access this
member directly.
Convert all direct write accesses to using the correct API.
Signed-off-by: Russel
Use platform_device_register_full() for those drivers which can, to
avoid messing directly with DMA masks. This can only be done when
the driver does not need to access the allocated musb platform device
from within its callbacks, which may be called during the musb
device probing.
Signed-off-by:
We need to start treating DMA masks as something which is specific to
the bus that the device resides on, otherwise we're going to hit all
sorts of nasty issues with LPAE and 32-bit DMA controllers in >32-bit
systems, where memory is offset from PFN 0.
In order to start doing this, we convert the
This driver doesn't need to directly access DMA masks if it uses the
platform_device_register_full() API rather than
platform_device_register_simple() - the former function can initialize
the DMA mask appropriately.
Signed-off-by: Russell King
---
drivers/firmware/google/gsmi.c | 13 --
From: Santosh Shilimkar
The blk_queue_bounce_limit() API parameter 'dma_mask' is actually the
maximum address the device can handle rather than a dma_mask. Rename
it accordingly to avoid it being interpreted as dma_mask.
No functional change.
The idea is to fix the bad assumptions about dma_mas
From: Santosh Shilimkar
Most of the kernel assumes that PFN0 is the start of the physical
memory (RAM). This assumptions is not true on most of the ARM SOCs
and hence and if one try to update the ARM port to follow the assumptions,
we end of breaking the dma bounce limit for few block layer drive
From: Santosh Shilimkar
DMA bounce limit is the maximum direct DMA'able memory beyond which
bounce buffers has to be used to perform dma operations. SCSI driver
relies on dma_mask but its calculation is based on max_*pfn which
don't have uniform meaning across architectures. So make use of
dma_ma
From: Santosh Shilimkar
DMA bounce limit is the maximum direct DMA'able memory beyond which
bounce buffers has to be used to perform dma operations. MMC queue layr
relies on dma_mask but its calculation is based on max_*pfn which
don't have uniform meaning across architectures. So make use of
dma
From: Santosh Shilimkar
Most of the kernel code assumes that max*pfn is maximum pfns because
the physical start of memory is expected to be PFN0. Since this
assumption is not true on ARM architectures, the meaning of max*pfn
is number of memory pages. This is done to keep drivers happy which
are
We want to give user space provision to fully consume a card
insert/remove event, when the event was caused by a wakeup irq.
By signaling the wakeup event for a time of 5 s for devices configured
as wakeup capable, we likely will be prevent a sleep long enough to let
user space consume the event.
On 20 September 2013 03:21, Grant Grundler wrote:
> cscsope says there are no callers for mmc_try_claim_host in the kernel.
> No reason to keep it.
>
> Signed-off-by: Grant Grundler
Acked-by: Ulf Hansson
> ---
> drivers/mmc/core/core.c | 25 -
> include/linux/mmc/core
On 19 September 2013 19:20, Grant Grundler wrote:
> struct mmc_queue defines issue_fn as an indirect function call.
> issue_fn field only gets set to mmc_blk_issue_rq and only gets
> invoked immediately after calling blk_fetch_request().
> Don't bother with indirect function call - it's pointless
60 matches
Mail list logo