Displaying 8 results from an estimated 8 matches for "msi_attr".
Did you mean:
msi_attrs
2014 Jul 26
0
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...* Don't shift by >= width of type */
@@ -175,6 +185,7 @@ static inline __attribute_const__ u32 msi_mask(unsigned x)
*/
u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
{
+ struct pci_dev *dev = desc->msi->data;
u32 mask_bits = desc->masked;
if (!desc->msi_attrib.maskbit)
@@ -182,7 +193,7 @@ u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
mask_bits &= ~mask;
mask_bits |= flag;
- pci_write_config_dword(desc->dev, desc->mask_pos, mask_bits);
+ pci_write_config_dword(dev, desc->mask_pos, mask_bits);
return mask_bits...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...e */
> @@ -175,6 +185,7 @@ static inline __attribute_const__ u32 msi_mask(unsigned x)
> */
> u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
> {
> + struct pci_dev *dev = desc->msi->data;
> u32 mask_bits = desc->masked;
>
> if (!desc->msi_attrib.maskbit)
> @@ -182,7 +193,7 @@ u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask,
> u32 flag)
>
> mask_bits &= ~mask;
> mask_bits |= flag;
> - pci_write_config_dword(desc->dev, desc->mask_pos, mask_bits);
> + pci_write_config_dword(dev, desc->mask_pos...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...e */
> @@ -175,6 +185,7 @@ static inline __attribute_const__ u32 msi_mask(unsigned x)
> */
> u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
> {
> + struct pci_dev *dev = desc->msi->data;
> u32 mask_bits = desc->masked;
>
> if (!desc->msi_attrib.maskbit)
> @@ -182,7 +193,7 @@ u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask,
> u32 flag)
>
> mask_bits &= ~mask;
> mask_bits |= flag;
> - pci_write_config_dword(desc->dev, desc->mask_pos, mask_bits);
> + pci_write_config_dword(dev, desc->mask_pos...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ct msi_desc
and alloc the irq, then write the msi address/data value to hardware registers.
This series only did compile test, we will test it in x86 and arm platform later.
Any comments are welcome.
Thanks!
Yijing.
Yijing Wang (11):
PCI/MSI: Use pci_dev->msi_cap instead of msi_desc->msi_attrib.pos
PCI/MSI: Use new MSI type macro instead of PCI MSI flags
PCI/MSI: Refactor pci_dev_msi_enabled()
PCI/MSI: Move MSIX table address mapping out of msix_capability_init
PCI/MSI: Move populate_msi_sysfs() out of msi_capability_init()
PCI/MSI: Save MSI irq in PCI MSI layer
PCI/MSI: Mas...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ct msi_desc
and alloc the irq, then write the msi address/data value to hardware registers.
This series only did compile test, we will test it in x86 and arm platform later.
Any comments are welcome.
Thanks!
Yijing.
Yijing Wang (11):
PCI/MSI: Use pci_dev->msi_cap instead of msi_desc->msi_attrib.pos
PCI/MSI: Use new MSI type macro instead of PCI MSI flags
PCI/MSI: Refactor pci_dev_msi_enabled()
PCI/MSI: Move MSIX table address mapping out of msix_capability_init
PCI/MSI: Move populate_msi_sysfs() out of msi_capability_init()
PCI/MSI: Save MSI irq in PCI MSI layer
PCI/MSI: Mas...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...; +{
> + struct msi_desc *entry;
> +
> + list_for_each_entry(entry, &msi->msi_list, list) {
> + int i, nvec;
> + if (entry->irq == 0)
> + continue;
> + if (entry->nvec_used)
> + nvec = entry->nvec_used;
> + else
> + nvec = 1 << entry->msi_attrib.multiple;
> + for (i = 0; i < nvec; i++)
> + arch_teardown_msi_irq(entry->irq + i);
> + }
> +}
> +
> +static void default_restore_msi_irq(struct msi_irqs *msi, int irq)
> +{
> + struct msi_desc *entry;
> +
> + entry = NULL;
> + if (msi->msix_enabled) {...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...; +{
> + struct msi_desc *entry;
> +
> + list_for_each_entry(entry, &msi->msi_list, list) {
> + int i, nvec;
> + if (entry->irq == 0)
> + continue;
> + if (entry->nvec_used)
> + nvec = entry->nvec_used;
> + else
> + nvec = 1 << entry->msi_attrib.multiple;
> + for (i = 0; i < nvec; i++)
> + arch_teardown_msi_irq(entry->irq + i);
> + }
> +}
> +
> +static void default_restore_msi_irq(struct msi_irqs *msi, int irq)
> +{
> + struct msi_desc *entry;
> +
> + entry = NULL;
> + if (msi->msix_enabled) {...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...oid default_teardown_msi_irqs(struct msi_irqs *msi)
+{
+ struct msi_desc *entry;
+
+ list_for_each_entry(entry, &msi->msi_list, list) {
+ int i, nvec;
+ if (entry->irq == 0)
+ continue;
+ if (entry->nvec_used)
+ nvec = entry->nvec_used;
+ else
+ nvec = 1 << entry->msi_attrib.multiple;
+ for (i = 0; i < nvec; i++)
+ arch_teardown_msi_irq(entry->irq + i);
+ }
+}
+
+static void default_restore_msi_irq(struct msi_irqs *msi, int irq)
+{
+ struct msi_desc *entry;
+
+ entry = NULL;
+ if (msi->msix_enabled) {
+ list_for_each_entry(entry, &msi->msi_list, l...