From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9A9F6EDE980 for ; Thu, 14 Sep 2023 05:41:28 +0000 (UTC) Received: from localhost ([::1] helo=shelob.surriel.com) by shelob.surriel.com with esmtp (Exim 4.96) (envelope-from ) id 1qgf4l-0002m5-24; Thu, 14 Sep 2023 01:39:39 -0400 Received: from mscreen.etri.re.kr ([129.254.9.16]) by shelob.surriel.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1qgf4e-0002lf-1b for kernelnewbies@kernelnewbies.org; Thu, 14 Sep 2023 01:39:38 -0400 Received: from unknown (HELO send001-relay.gov-dooray.com) (211.180.235.152) by 129.254.9.16 with ESMTP; 14 Sep 2023 14:38:52 +0900 X-Original-SENDERIP: 211.180.235.152 X-Original-MAILFROM: ckim@etri.re.kr X-Original-RCPTTO: kernelnewbies@kernelnewbies.org Received: from [10.162.225.106] (HELO smtp001-imp.gov-dooray.com) ([10.162.225.106]) by send001-relay.gov-dooray.com with SMTP id 6b1cdece65029c6c; Thu, 14 Sep 2023 14:38:52 +0900 DKIM-Signature: a=rsa-sha256; b=jC3wuFjKEf0MRjx22ZeV+WRS1JrAfvMCqLeNX2pWgornLfsrIzXhikih/S9msNH5TFm+17/2hk iHBIcVdtTSWwctozmrluF7cg2sozbCNuzTWsgXL5hYisLUtJU5HEAIF2G3SCsbBbHIXzkdeGRLdj LPVWHDNmylh/CU0taq0cnJQDCb7xl4Zy5w+jUtVVZnrnmMeXyM0ragYPxfzJZLVMKi2JjO1iUMXl WSPLMAiQDd0d4gaVswzaj94NTRMN9me4YZF2IMh8tOp37Y8OkcrJqPTfFcH7p5ZgWwwcBvpSxHNF a9UT1Vo02O4sjpF0X4cl25V5iOfXuJ/0iH8l5smQ==; c=relaxed/relaxed; s=selector; d=dooray.com; v=1; bh=kjdG5/yZ/w5pw/oEx2eKMbuXx6uzr3RlXgOK9XG6wzM=; h=From:To:Subject:Message-ID; Received: from [129.254.132.39] (HELO CHANKIMPC) ([129.254.132.39]) by smtp001-imp.gov-dooray.com with SMTP id 999b872065029c6b; Thu, 14 Sep 2023 14:38:52 +0900 From: "Chan Kim" To: 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 Message-ID: <027c01d9e6cd$bd3c4c70$37b4e550$@etri.re.kr> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Content-Language: ko Thread-Index: AdnmzawpiIlfun1RQ/2qqE3CofZQgQ== X-BeenThere: kernelnewbies@kernelnewbies.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Learn about the Linux kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: kernelnewbies-bounces@kernelnewbies.org 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