gpu: host1x: Fix build for Linux v6.3

Upstream Linux commit ("1369459b2e21 iommu: Add a gfp parameter to
iommu_map()") adds a new parameter to the iommu_map function and this
breaks building the host1x driver with Linux v6.3.

Upstream Linux commit 2a81ada32f0e ("driver core: make struct
bus_type.uevent() take a const *") updates the uevent function pointer
type to make the device structure const which also breaks building the
host1x driver with Linux v6.3.

Address both of these issues to fix building the host1x driver with
Linux v6.3.

Bug 4014315

Change-Id: Ibd27f5e8442cc6970bcaac0dcfb9fc262860aee9
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2867136
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Jon Hunter
2023-02-28 17:17:22 +00:00
committed by Laxman Dewangan
parent 41a9f72f78
commit ee3c149b7f
2 changed files with 10 additions and 0 deletions

View File

@@ -11,6 +11,7 @@
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/of_device.h>
#include <linux/version.h>
#include "bus.h"
#include "dev.h"
@@ -338,7 +339,11 @@ static int host1x_device_match(struct device *dev, struct device_driver *drv)
return strcmp(dev_name(dev), drv->name) == 0;
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)
static int host1x_device_uevent(const struct device *dev,
#else
static int host1x_device_uevent(struct device *dev,
#endif
struct kobj_uevent_env *env)
{
struct device_node *np = dev->parent->of_node;

View File

@@ -14,6 +14,7 @@
#include <linux/kernel.h>
#include <linux/kfifo.h>
#include <linux/slab.h>
#include <linux/version.h>
#include <trace/events/host1x.h>
#include "cdma.h"
@@ -105,7 +106,11 @@ static int host1x_pushbuffer_init(struct push_buffer *pb)
pb->dma = iova_dma_addr(&host1x->iova, alloc);
err = iommu_map(host1x->domain, pb->dma, pb->phys, size,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)
IOMMU_READ, GFP_KERNEL);
#else
IOMMU_READ);
#endif
if (err)
goto iommu_free_iova;
} else {