mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 06:01:53 +02:00
perf/dwc_pcie: Move common DWC struct definitions to 'pcie-dwc.h'
Move the common DWC struct definitions, which are shared across all the DesginWare PCIe IPs, to a new header file called 'pcie-dwc.h', so that other users e.g., debugfs, perf and sysfs can make use of them. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Shradha Todi <shradha.t@samsung.com> Reviewed-by: Shuai Xue <xueshuai@linux.alibaba.com> Reviewed-by: Fan Ni <fan.ni@samsung.com> Tested-by: Hrishikesh Deleep <hrishikesh.d@samsung.com> Link: https://lore.kernel.org/r/20250221131548.59616-2-shradha.t@samsung.com [kwilczynski: commit log, tidy up the new header file] Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
This commit is contained in:
parent
2014c95afe
commit
5d2b978ff9
|
|
@ -18123,6 +18123,7 @@ S: Maintained
|
|||
F: Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml
|
||||
F: Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
|
||||
F: drivers/pci/controller/dwc/*designware*
|
||||
F: include/linux/pcie-dwc.h
|
||||
|
||||
PCI DRIVER FOR TI DRA7XX/J721E
|
||||
M: Vignesh Raghavendra <vigneshr@ti.com>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#include <linux/errno.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/pcie-dwc.h>
|
||||
#include <linux/perf_event.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
|
@ -99,26 +100,6 @@ struct dwc_pcie_dev_info {
|
|||
struct list_head dev_node;
|
||||
};
|
||||
|
||||
struct dwc_pcie_pmu_vsec_id {
|
||||
u16 vendor_id;
|
||||
u16 vsec_id;
|
||||
u8 vsec_rev;
|
||||
};
|
||||
|
||||
/*
|
||||
* VSEC IDs are allocated by the vendor, so a given ID may mean different
|
||||
* things to different vendors. See PCIe r6.0, sec 7.9.5.2.
|
||||
*/
|
||||
static const struct dwc_pcie_pmu_vsec_id dwc_pcie_pmu_vsec_ids[] = {
|
||||
{ .vendor_id = PCI_VENDOR_ID_ALIBABA,
|
||||
.vsec_id = 0x02, .vsec_rev = 0x4 },
|
||||
{ .vendor_id = PCI_VENDOR_ID_AMPERE,
|
||||
.vsec_id = 0x02, .vsec_rev = 0x4 },
|
||||
{ .vendor_id = PCI_VENDOR_ID_QCOM,
|
||||
.vsec_id = 0x02, .vsec_rev = 0x4 },
|
||||
{} /* terminator */
|
||||
};
|
||||
|
||||
static ssize_t cpumask_show(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
char *buf)
|
||||
|
|
@ -529,14 +510,14 @@ static void dwc_pcie_unregister_pmu(void *data)
|
|||
|
||||
static u16 dwc_pcie_des_cap(struct pci_dev *pdev)
|
||||
{
|
||||
const struct dwc_pcie_pmu_vsec_id *vid;
|
||||
const struct dwc_pcie_vsec_id *vid;
|
||||
u16 vsec;
|
||||
u32 val;
|
||||
|
||||
if (!pci_is_pcie(pdev) || !(pci_pcie_type(pdev) == PCI_EXP_TYPE_ROOT_PORT))
|
||||
return 0;
|
||||
|
||||
for (vid = dwc_pcie_pmu_vsec_ids; vid->vendor_id; vid++) {
|
||||
for (vid = dwc_pcie_rasdes_vsec_ids; vid->vendor_id; vid++) {
|
||||
vsec = pci_find_vsec_capability(pdev, vid->vendor_id,
|
||||
vid->vsec_id);
|
||||
if (vsec) {
|
||||
|
|
|
|||
34
include/linux/pcie-dwc.h
Normal file
34
include/linux/pcie-dwc.h
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright (C) 2021-2023 Alibaba Inc.
|
||||
* Copyright (C) 2025 Linaro Ltd.
|
||||
*
|
||||
* Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
*/
|
||||
|
||||
#ifndef LINUX_PCIE_DWC_H
|
||||
#define LINUX_PCIE_DWC_H
|
||||
|
||||
#include <linux/pci_ids.h>
|
||||
|
||||
struct dwc_pcie_vsec_id {
|
||||
u16 vendor_id;
|
||||
u16 vsec_id;
|
||||
u8 vsec_rev;
|
||||
};
|
||||
|
||||
/*
|
||||
* VSEC IDs are allocated by the vendor, so a given ID may mean different
|
||||
* things to different vendors. See PCIe r6.0, sec 7.9.5.2.
|
||||
*/
|
||||
static const struct dwc_pcie_vsec_id dwc_pcie_rasdes_vsec_ids[] = {
|
||||
{ .vendor_id = PCI_VENDOR_ID_ALIBABA,
|
||||
.vsec_id = 0x02, .vsec_rev = 0x4 },
|
||||
{ .vendor_id = PCI_VENDOR_ID_AMPERE,
|
||||
.vsec_id = 0x02, .vsec_rev = 0x4 },
|
||||
{ .vendor_id = PCI_VENDOR_ID_QCOM,
|
||||
.vsec_id = 0x02, .vsec_rev = 0x4 },
|
||||
{}
|
||||
};
|
||||
|
||||
#endif /* LINUX_PCIE_DWC_H */
|
||||
Loading…
Reference in New Issue
Block a user