Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pci: phytium: Add PCIe endpoint controller support #202

Merged
merged 1 commit into from
May 24, 2024

Conversation

hhhui-L
Copy link
Contributor

@hhhui-L hhhui-L commented May 24, 2024

Add PCIe endpoint controller driver for Phytium Pd2008 SoC.

Add PCIe endpoint controller driver for Phytium Pd2008 SoC.

Signed-off-by: Li Guohui <[email protected]>
Signed-off-by: Yang Xun <[email protected]>
Signed-off-by: Chen Baozi <[email protected]>
Signed-off-by: Wang Yinfeng <[email protected]>
@deepin-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign yukarichiba for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@deepin-ci-robot
Copy link

Hi @hhhui-L. Thanks for your PR.

I'm waiting for a deepin-community member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@opsiff
Copy link
Member

opsiff commented May 24, 2024

/ok-to-test

@deepin-ci-robot
Copy link

deepin pr auto review

This patch series implements a PCIe endpoint driver for Phytium
Technology Co., Ltd. The driver is designed to be used with the
Linux kernel 5.10 and later versions. The driver supports single-root
multiple-function (SR-MF) and root-port (RP) PCIe configurations.

The main part of the driver is located in the drivers/pci/controller
directory. The phytium_pcie_ep struct represents a single PCIe endpoint,
and the phytium_pcie_epc struct represents a PCIe endpoint controller
(EPCD). The phytium_pcie_ep_ops struct contains the operations that
the EPCD supports.

The phytium_pcie_ep_probe function is called when the driver is
probed by the kernel. It initializes the memory space for the endpoint,
configures the endpoint, and sets up the interrupt handling.

The phytium_pcie_ep_start function is called when the EPCD is started.
It initializes the memory space for the endpoint, configures the
endpoint, and sets up the interrupt handling.

The phytium_pcie_ep_write_header function is used to write the header
registers of the endpoint.

The phytium_pcie_ep_set_bar function is used to set up the PCIe BARs
of the endpoint.

The phytium_pcie_ep_clear_bar function is used to clear the PCIe BARs
of the endpoint.

The phytium_pcie_ep_map_addr function is used to map the memory
addresses of the endpoint.

The phytium_pcie_ep_unmap_addr function is used to unmap the memory
addresses of the endpoint.

The phytium_pcie_ep_set_msi function is used to configure the MSI
interrupt handling of the endpoint.

The phytium_pcie_ep_get_msi function is used to read the MSI
interrupt handling of the endpoint.

The phytium_pcie_ep_raise_irq function is used to raise the IRQs of
the endpoint.

The phytium_pcie_ep_start function is used to start the EPCD.

The phytium_pcie_ep_probe function is used to probe the driver.

The phytium_pcie_ep_remove function is used to remove the driver.

The phytium_pcie_ep_of_match struct is used to specify the match
criteria for the driver.

The phytium_pcie_ep_driver struct contains the driver entries
pointed by the driver name.

The module_platform_driver function is used to register the driver
as a platform driver.

The MODULE_LICENSE macro is used to specify the license of the
driver.

The MODULE_AUTHOR macro is used to specify the author of the
driver.

The MODULE_DESCRIPTION macro is used to specify the description of
the driver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants