Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1415197 > unrolled thread

Re: [PATCH] Introducing kernel option to force all PCI memory resources to be page aligned. Fixes issues with uio based drivers.

Started by"Koehrer Mathias (ETAS/ESW5)" <mathias.koehrer@etas.com>
First post2016-06-06 17:10 +0200
Last post2016-06-06 17:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  Re: [PATCH] Introducing kernel option to force all PCI memory  resources to be page aligned. Fixes issues with uio based drivers. "Koehrer Mathias (ETAS/ESW5)" <mathias.koehrer@etas.com> - 2016-06-06 17:10 +0200
    Re: [PATCH] Introducing kernel option to force all PCI memory  resources to be page aligned. Fixes issues with uio based drivers. "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org> - 2016-06-06 17:30 +0200

#1415197 — Re: [PATCH] Introducing kernel option to force all PCI memory resources to be page aligned. Fixes issues with uio based drivers.

From"Koehrer Mathias (ETAS/ESW5)" <mathias.koehrer@etas.com>
Date2016-06-06 17:10 +0200
SubjectRe: [PATCH] Introducing kernel option to force all PCI memory resources to be page aligned. Fixes issues with uio based drivers.
Message-ID<rH4k9-6Am-3@gated-at.bofh.it>
Hi Greg,

thanks for the response.
> > Some uio based PCI drivers (e.g. uio_cif) do not work if the assigned
> > PCI memory resources are not page aligned.
> > By using the kernel option "pci=resource_alignment" it is possible to
> > force single PCI boards to use page alignment for their memory resources.
> > However, this is fairly cumbersome if multiple of these cards are in use.
> > This patch adds another kernel option "pci=resources_page_aligned"
> > that allows to set the default alignment of PCI memory resources to be
> > page aligned.
> > Overwriting of this default alignment via "pci=resource_alignment" is
> > still possible.
> 
> This seems like a very large hammer for a very specific problem with a card
> that seems to be not-in-spec (I can't find anywhere that requires resources to
> be "page" aligned in the PCI spec).  Why not fix the firmware in these cards?
The issue is not the firmware. The issue is that the Linux uio driver (here: uio_cif)
does not work as uio_mmap() -> uio_mmap_physical() does not do a mmap 
on physical memory that is not page aligned...

Regards

Mathias

[toc] | [next] | [standalone]


#1415221

From"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
Date2016-06-06 17:30 +0200
Message-ID<rH4Dv-6Hq-13@gated-at.bofh.it>
In reply to#1415197
On Mon, Jun 06, 2016 at 02:59:47PM +0000, Koehrer Mathias (ETAS/ESW5) wrote:
> Hi Greg,
> 
> thanks for the response.
> > > Some uio based PCI drivers (e.g. uio_cif) do not work if the assigned
> > > PCI memory resources are not page aligned.
> > > By using the kernel option "pci=resource_alignment" it is possible to
> > > force single PCI boards to use page alignment for their memory resources.
> > > However, this is fairly cumbersome if multiple of these cards are in use.
> > > This patch adds another kernel option "pci=resources_page_aligned"
> > > that allows to set the default alignment of PCI memory resources to be
> > > page aligned.
> > > Overwriting of this default alignment via "pci=resource_alignment" is
> > > still possible.
> > 
> > This seems like a very large hammer for a very specific problem with a card
> > that seems to be not-in-spec (I can't find anywhere that requires resources to
> > be "page" aligned in the PCI spec).  Why not fix the firmware in these cards?
> The issue is not the firmware. The issue is that the Linux uio driver (here: uio_cif)
> does not work as uio_mmap() -> uio_mmap_physical() does not do a mmap 
> on physical memory that is not page aligned...

Then why not fix the uio_cif driver?

greg k-h

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web