lkml.org 
[lkml]   [2011]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/3] PCI: Maintain a list of FW-assigned BIOS BAR values
On Wed, 09 Nov 2011 17:43:51 -0700
Myron Stowe <myron.stowe@redhat.com> wrote:

> From: Myron Stowe <mstowe@redhat.com>
>
> Commit 58c84eda075 introduced functionality to try and reinstate the
> original BIOS BAR addresses of a PCI device when normal resource
> assignment attempts fail. To keep track of the BIOS BAR addresses,
> struct pci_dev was augmented with an array to hold the BAR addresses
> of the PCI device: 'resource_size_t fw_addr[DEVICE_COUNT_RESOURCE]'.
>
> The reinstatement of BAR addresses is an uncommon event leaving the
> 'fw_addr' array unused normally. As the use of struct pci_dev is so
> prevalent, this seems wasteful.
>
> This patch introduces a stand alone data structure and corresponding set
> of interfacing routines for maintaining a list of FW-assigned BIOS BAR
> value temporary entries.
>
> Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
> ---
>
> drivers/pci/setup-res.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++
> include/linux/pci.h | 1 +
> 2 files changed, 74 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
> index ad8c4ae..ab45c11 100644
> --- a/drivers/pci/setup-res.c
> +++ b/drivers/pci/setup-res.c
> @@ -26,6 +26,79 @@
> #include "pci.h"
>
>
> +/*
> + * This list of dynamic mappings is for temporarly maintaining
> + * original BIOS BAR addresses for possbile reinstatement.
> + */
> +struct pci_fwaddrmap {
> + struct list_head list;
> + struct pci_dev *dev;
> + resource_size_t fw_addr[DEVICE_COUNT_RESOURCE];
> + unsigned long refcount;
> +};
> +
> +static LIST_HEAD(pci_fwaddrmappings);
> +static DEFINE_SPINLOCK(pci_fwaddrmap_lock);

Is the refcounting really needed? Can't we just free the whole list at
some point to simplify things a bit?

--
Jesse Barnes, Intel Open Source Technology Center
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2011-11-11 18:47    [W:0.061 / U:29.592 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site