linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Multi MSI with multiple End Points
@ 2018-02-26 14:10 Bharat Kumar Gogada
  0 siblings, 0 replies; only message in thread
From: Bharat Kumar Gogada @ 2018-02-26 14:10 UTC (permalink / raw)
  To: linux-kernel, linux-pci; +Cc: helgaas

Hi,

A switch is connected to an RC with 2 EP’s, the RC supports multi MSI.
1st EP requests one MSI vector, 2nd EP requests 4 MSI vectors.

If we are programming hwirq as MSI data (hwirq being obtained from
bitmap_find_next_zero_area, with number of zeroed bits being requested
based on number of irq’s being requested).

This results in 1st EP is given zero as hwirq, 2nd EP is given one as hwirq.

If we use msi data to retrieve virq (use msi data as hwirq), Since as
per PCI spec lower 2 bits of MSI data are modifiable  for 2nd EP, if an
interrupt is raised by 2nd EP on msi data zero, but this is already used
by 1st EP, so the current EP’s interrupt will never be served.

One way to deal with this issue is, using bit shift operations on hwriq
before programming to msi data and at retrieving.

Is there any other way to handle this ?

Regards,
Bharat
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-02-26 14:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-26 14:10 Multi MSI with multiple End Points Bharat Kumar Gogada

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).