[v2,02/10] drm/amdkfd: add renoir kfd device info (v2)

Submitted by Huang, Ray on Sept. 5, 2019, 6:36 p.m.

Details

Message ID 1567708597-18831-2-git-send-email-ray.huang@amd.com
State New
Headers show
Series "Series without cover letter" ( rev: 1 ) in AMD X.Org drivers

Not browsing as part of any series.

Commit Message

Huang, Ray Sept. 5, 2019, 6:36 p.m.
This patch inits renoir kfd device info, so we treat renoir as "dgpu"
(bypass iommu v2). Will enable needs_iommu_device till renoir iommu is ready.

v2: rebase and align the drm-next

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_device.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c b/drivers/gpu/drm/amd/amdkfd/kfd_device.c
index 267eb2e..c5120f3 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c
@@ -351,6 +351,23 @@  static const struct kfd_device_info arcturus_device_info = {
 	.num_sdma_queues_per_engine = 8,
 };
 
+static const struct kfd_device_info renoir_device_info = {
+	.asic_family = CHIP_RENOIR,
+	.max_pasid_bits = 16,
+	.max_no_of_hqd  = 24,
+	.doorbell_size  = 8,
+	.ih_ring_entry_size = 8 * sizeof(uint32_t),
+	.event_interrupt_class = &event_interrupt_class_v9,
+	.num_of_watch_points = 4,
+	.mqd_size_aligned = MQD_SIZE_ALIGNED,
+	.supports_cwsr = true,
+	.needs_iommu_device = false,
+	.needs_pci_atomics = false,
+	.num_sdma_engines = 1,
+	.num_xgmi_sdma_engines = 0,
+	.num_sdma_queues_per_engine = 2,
+};
+
 static const struct kfd_device_info navi10_device_info = {
 	.asic_family = CHIP_NAVI10,
 	.asic_name = "navi10",
@@ -384,6 +401,7 @@  static const struct kfd_device_info *kfd_supported_devices[][2] = {
 	[CHIP_VEGA12] = {&vega12_device_info, NULL},
 	[CHIP_VEGA20] = {&vega20_device_info, NULL},
 	[CHIP_RAVEN] = {&raven_device_info, NULL},
+	[CHIP_RENOIR] = {&renoir_device_info, NULL},
 	[CHIP_ARCTURUS] = {&arcturus_device_info, &arcturus_device_info},
 	[CHIP_NAVI10] = {&navi10_device_info, NULL},
 };

Comments

On 2019-09-05 2:36 p.m., Huang, Ray wrote:
> This patch inits renoir kfd device info, so we treat renoir as "dgpu"

> (bypass iommu v2). Will enable needs_iommu_device till renoir iommu is ready.

>

> v2: rebase and align the drm-next

>

> Signed-off-by: Huang Rui <ray.huang@amd.com>


The series is

Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>


Note that you'll need to rebase this patch again after Yong's fix for 
builds without IOMMUv2 support. The CHIP_RAVEN entry in the device table 
moved. CHIP_RENOIR should stay where it is, because for now Renoir 
support doesn't depend on IOMMUv2.

Regards,
   Felix


> ---

>   drivers/gpu/drm/amd/amdkfd/kfd_device.c | 18 ++++++++++++++++++

>   1 file changed, 18 insertions(+)

>

> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c b/drivers/gpu/drm/amd/amdkfd/kfd_device.c

> index 267eb2e..c5120f3 100644

> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c

> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c

> @@ -351,6 +351,23 @@ static const struct kfd_device_info arcturus_device_info = {

>   	.num_sdma_queues_per_engine = 8,

>   };

>   

> +static const struct kfd_device_info renoir_device_info = {

> +	.asic_family = CHIP_RENOIR,

> +	.max_pasid_bits = 16,

> +	.max_no_of_hqd  = 24,

> +	.doorbell_size  = 8,

> +	.ih_ring_entry_size = 8 * sizeof(uint32_t),

> +	.event_interrupt_class = &event_interrupt_class_v9,

> +	.num_of_watch_points = 4,

> +	.mqd_size_aligned = MQD_SIZE_ALIGNED,

> +	.supports_cwsr = true,

> +	.needs_iommu_device = false,

> +	.needs_pci_atomics = false,

> +	.num_sdma_engines = 1,

> +	.num_xgmi_sdma_engines = 0,

> +	.num_sdma_queues_per_engine = 2,

> +};

> +

>   static const struct kfd_device_info navi10_device_info = {

>   	.asic_family = CHIP_NAVI10,

>   	.asic_name = "navi10",

> @@ -384,6 +401,7 @@ static const struct kfd_device_info *kfd_supported_devices[][2] = {

>   	[CHIP_VEGA12] = {&vega12_device_info, NULL},

>   	[CHIP_VEGA20] = {&vega20_device_info, NULL},

>   	[CHIP_RAVEN] = {&raven_device_info, NULL},

> +	[CHIP_RENOIR] = {&renoir_device_info, NULL},

>   	[CHIP_ARCTURUS] = {&arcturus_device_info, &arcturus_device_info},

>   	[CHIP_NAVI10] = {&navi10_device_info, NULL},

>   };