Re: [PATCH 6/25] msi: Implement helper functions read_msi_msg and write_msi_msg.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 20, 2006 at 04:28:19PM -0600, Eric W. Biederman wrote:
> In support of this I also add a struct msi_msg that captures
> the the two address and one data field ina typical msi message,
> and I remember the pos and if the address is 64bit in
> struct msi_desc.
> 
One thing I found very useful was to kmalloc msi_msg at MSI/MSI-X
enable time, and stick a pointer to it in the msi_desc structure,
not just for the CONFIG_PM case. For MSI, there's a single pointer
to track. This simplified a lot of code and allowed me to avoid
pci config reads to read the hardware at various places.

> Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> ---
>  drivers/pci/msi.c   |  195 +++++++++++++++++++++++++--------------------------
>  drivers/pci/msi.h   |    9 +-
>  include/linux/pci.h |    6 ++
>  3 files changed, 104 insertions(+), 106 deletions(-)
> 
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index c1c93f0..e9db6c5 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -94,63 +94,100 @@ static void msi_set_mask_bit(unsigned in
>  	}
>  }
>  
> -#ifdef CONFIG_SMP
> -static void set_msi_affinity(unsigned int vector, cpumask_t cpu_mask)
> +static void read_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
>  {

You wouldn't need this if you saved away the msi_msg values
returned from ->setup().

Rajesh
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux