public inbox for kernelnewbies@kernelnewbies.org
 help / color / mirror / Atom feed
From: "Chan Kim" <ckim@etri.re.kr>
To: <kernelnewbies@kernelnewbies.org>
Subject: A question on endpoint_test code in the linux source by Kishon Vijay Abraham I.
Date: Thu, 14 Sep 2023 14:38:49 +0900	[thread overview]
Message-ID: <027c01d9e6cd$bd3c4c70$37b4e550$@etri.re.kr> (raw)

Hello linux experts,

I was analyzing drivers/misc/pci_endpoint_test.c (linux-5.15.68)
It uses a miscdev and when the driver receives PCITEST_WRITE command using
ioctl(line 726 in the link below) from the user, the driver sets registers
of the endpoint device and writes COMMAND_READ at register
PCI_ENDPOINT_TEST_COMMAND
(https://elixir.bootlin.com/linux/v5.15.68/source/drivers/misc/pci_endpoint_
test.c#L553 ). This seems to be setting DMA paramaters (source DMA address
and size) and triggering DMA. The driver then waits for completion and I can
see the interrupt service routine completes the
completion(test->irq_raised). I guess the endpoint device should actually do
the DMA-read (when told to use DMA) or read the data to itself(I don't know
where it is) and send interrupt to the host(using msix or msi or intx).

The code was written by "Kishon Vijay Abraham I" and I know it is supposed
to be run with drivers/pci/endpoint/functions/pci-epf-test.c
(https://elixir.bootlin.com/linux/v5.15.68/source/drivers/pci/endpoint/funct
ions/pci-epf-test.c)  in the endpoint side. And how to use this endpoint
framework test is shown in
https://docs.kernel.org/PCI/endpoint/pci-test-howto.html . But I cannot find
where the actual DMA and sending interrupt is occurring in the endpoint side
source code when the registers at set. Am I supposed to be running this code
with some real hardware?(as listed in the pci_device_id in the hostside
pci_endpoint_test.c driver?) Where can I find the corresponding (acting on
the register triggering above) action in the endpoint side?

If you have once seen these codes and send me any hint or suggestion, I'll
be grateful.
Thank you.

Best regards,
Chan Kim





_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

             reply	other threads:[~2023-09-14  5:41 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-14  5:38 Chan Kim [this message]
2023-09-14  5:51 ` A question on endpoint_test code in the linux source by Kishon Vijay Abraham I Chan Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='027c01d9e6cd$bd3c4c70$37b4e550$@etri.re.kr' \
    --to=ckim@etri.re.kr \
    --cc=kernelnewbies@kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox