Fix AMDGPU recipe glue assumptions
This commit is contained in:
@@ -18,13 +18,13 @@ script = """
|
|||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
|
|
||||||
# Paths
|
# Paths
|
||||||
AMD_ROOT="${COOKBOOK_SOURCE}/../amdgpu-source/gpu/drm/amd"
|
AMD_ROOT="${COOKBOOK_SOURCE}/../../amdgpu-source/gpu/drm/amd"
|
||||||
AMD_SRC="${AMD_ROOT}"
|
AMD_SRC="${AMD_ROOT}"
|
||||||
TTM_SRC="${COOKBOOK_SOURCE}/../amdgpu-source/gpu/drm/ttm"
|
TTM_SRC="${COOKBOOK_SOURCE}/../../amdgpu-source/gpu/drm/ttm"
|
||||||
INCLUDES="${COOKBOOK_SOURCE}/../amdgpu-source/include"
|
INCLUDES="${COOKBOOK_SOURCE}/../../amdgpu-source/include"
|
||||||
LINUX_KPI="${COOKBOOK_SYSROOT}/include/linux-kpi"
|
LINUX_KPI="${COOKBOOK_ROOT}/local/recipes/drivers/linux-kpi/source/src/c_headers"
|
||||||
REDOX_GLUE="${COOKBOOK_SOURCE}"
|
REDOX_GLUE="${COOKBOOK_SOURCE}"
|
||||||
TARGET_CC="${COOKBOOK_TARGET}-gcc"
|
TARGET_CC="${TARGET}-gcc"
|
||||||
|
|
||||||
# Compiler flags for AMD driver — DML2 enabled
|
# Compiler flags for AMD driver — DML2 enabled
|
||||||
export CFLAGS="-D__redox__ -D__KERNEL__ -DCONFIG_DRM_AMDGPU -DCONFIG_DRM_AMD_DC \
|
export CFLAGS="-D__redox__ -D__KERNEL__ -DCONFIG_DRM_AMDGPU -DCONFIG_DRM_AMD_DC \
|
||||||
@@ -132,8 +132,7 @@ if [ -z "$OBJS" ]; then
|
|||||||
echo "ERROR: no object files compiled successfully"
|
echo "ERROR: no object files compiled successfully"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
"${TARGET_CC}" -shared -o libamdgpu_dc_redox.so $OBJS \
|
"${TARGET_CC}" -shared -o libamdgpu_dc_redox.so $OBJS -lm -lpthread
|
||||||
-lredox_driver_sys -llinux_kpi -lm -lpthread
|
|
||||||
|
|
||||||
# Install
|
# Install
|
||||||
mkdir -p "${COOKBOOK_STAGE}/usr/lib/redox/drivers"
|
mkdir -p "${COOKBOOK_STAGE}/usr/lib/redox/drivers"
|
||||||
|
|||||||
@@ -261,6 +261,20 @@ extern void redox_pci_release_regions(struct pci_dev *pdev);
|
|||||||
#define pci_resource_flags(pdev, bar) ((pdev)->resource_flags[(bar)])
|
#define pci_resource_flags(pdev, bar) ((pdev)->resource_flags[(bar)])
|
||||||
#define pci_resource_end(pdev, bar) ((pdev)->resource_start[(bar)] + (pdev)->resource_len[(bar)] - 1)
|
#define pci_resource_end(pdev, bar) ((pdev)->resource_start[(bar)] + (pdev)->resource_len[(bar)] - 1)
|
||||||
|
|
||||||
|
extern u64 pci_get_quirk_flags(struct pci_dev *dev);
|
||||||
|
extern bool pci_has_quirk(struct pci_dev *dev, u64 flag);
|
||||||
|
|
||||||
|
#define PCI_QUIRK_NO_MSI (1ULL << 0)
|
||||||
|
#define PCI_QUIRK_NO_MSIX (1ULL << 1)
|
||||||
|
#define PCI_QUIRK_FORCE_LEGACY (1ULL << 2)
|
||||||
|
#define PCI_QUIRK_NO_PM (1ULL << 3)
|
||||||
|
#define PCI_QUIRK_NO_D3COLD (1ULL << 4)
|
||||||
|
#define PCI_QUIRK_NO_ASPM (1ULL << 5)
|
||||||
|
#define PCI_QUIRK_NEED_IOMMU (1ULL << 6)
|
||||||
|
#define PCI_QUIRK_DMA_32BIT_ONLY (1ULL << 8)
|
||||||
|
#define PCI_QUIRK_NEED_FIRMWARE (1ULL << 11)
|
||||||
|
#define PCI_QUIRK_DISABLE_ACCEL (1ULL << 12)
|
||||||
|
|
||||||
#define IORESOURCE_MEM 0x00000200U
|
#define IORESOURCE_MEM 0x00000200U
|
||||||
#define IORESOURCE_IO 0x00000100U
|
#define IORESOURCE_IO 0x00000100U
|
||||||
#define IORESOURCE_MEM_64 0x00040000U
|
#define IORESOURCE_MEM_64 0x00040000U
|
||||||
|
|||||||
@@ -296,6 +296,19 @@ void redox_pci_release_regions(struct pci_dev *pdev)
|
|||||||
(void)pdev;
|
(void)pdev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u64 pci_get_quirk_flags(struct pci_dev *pdev)
|
||||||
|
{
|
||||||
|
(void)pdev;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool pci_has_quirk(struct pci_dev *pdev, u64 flag)
|
||||||
|
{
|
||||||
|
(void)pdev;
|
||||||
|
(void)flag;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
int redox_request_firmware(const struct firmware **fw, const char *name, void *dev)
|
int redox_request_firmware(const struct firmware **fw, const char *name, void *dev)
|
||||||
{
|
{
|
||||||
char path[512];
|
char path[512];
|
||||||
|
|||||||
Reference in New Issue
Block a user