Re: [PATCH] alpha: pci sysfs resources

From: Jesse Barnes
Date: Wed Feb 18 2009 - 14:57:07 EST


On Tuesday, February 17, 2009 2:46 am Ivan Kokshaysky wrote:
> This closes http://bugzilla.kernel.org/show_bug.cgi?id=10893
> which is a showstopper for X development on alpha.
>
> The generic HAVE_PCI_MMAP code (drivers/pci-sysfs.c) is not
> very useful since we have to deal with three different types
> of MMIO address spaces: sparse and dense mappings for old
> ev4/ev5 machines and "normal" 1:1 MMIO space (bwx) for ev56 and
> later.
> Also "write combine" mappings are meaningless on alpha - roughly
> speaking, alpha does write combining, IO reordering and other
> optimizations by default, unless user splits IO accesses
> with memory barriers.
>
> I think the cleanest way to deal with resource files on alpha
> is to convert the default no-op pci_create_resource_files() and
> pci_remove_resource_files() for !HAVE_PCI_MMAP case into __weak
> functions and override them with alpha specific ones.
>
> Another alpha hook is needed for "legacy_" resource files
> to handle sparse addressing (pci_adjust_legacy_attr).
>
> With the "standard" resourceN files on ev56/ev6 libpciaccess
> works "out of the box". Handling of resourceN_sparse/resourceN_dense
> files on older machines obviously requires some userland work.
>
> Sparse/dense stuff has been tested on sx164 (pca56/pyxis, normally
> uses bwx IO) with the kernel hacked into "cia compatible" mode.

Excellent, thanks Ivan. I've applied this one to my linux-next branch.
Should make userspace stuff on the ev56/6 machines that much easier.

--
Jesse Barnes, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/