Commit b3ed524f authored by Christian König's avatar Christian König
Browse files

drm/msm: allow compile_test on !ARM



MSM is one of the few drivers which won't even compile
test on !ARM platforms.

Looking into this a bit more it turned out that there is
actually not that much missing to at least let the driver
compile on x86 as well.

So this patch replaces the use of phys_to_page() with the
open coded version and provides a dummy for of_drm_find_bridge().

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarRob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210924071759.22659-2-christian.koenig@amd.com
parent 116e5947
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3,9 +3,9 @@
config DRM_MSM
	tristate "MSM DRM"
	depends on DRM
	depends on ARCH_QCOM || SOC_IMX5 || (ARM && COMPILE_TEST)
	depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST
	depends on IOMMU_SUPPORT
	depends on OF && COMMON_CLK
	depends on (OF && COMMON_CLK) || COMPILE_TEST
	depends on QCOM_OCMEM || QCOM_OCMEM=n
	depends on QCOM_LLCC || QCOM_LLCC=n
	depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
+1 −1
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ static struct page **get_pages_vram(struct drm_gem_object *obj, int npages)

	paddr = physaddr(obj);
	for (i = 0; i < npages; i++) {
		p[i] = phys_to_page(paddr);
		p[i] = pfn_to_page(__phys_to_pfn(paddr));
		paddr += PAGE_SIZE;
	}

+9 −1
Original line number Diff line number Diff line
@@ -790,11 +790,19 @@ drm_priv_to_bridge(struct drm_private_obj *priv)

void drm_bridge_add(struct drm_bridge *bridge);
void drm_bridge_remove(struct drm_bridge *bridge);
struct drm_bridge *of_drm_find_bridge(struct device_node *np);
int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
		      struct drm_bridge *previous,
		      enum drm_bridge_attach_flags flags);

#ifdef CONFIG_OF
struct drm_bridge *of_drm_find_bridge(struct device_node *np);
#else
static inline struct drm_bridge *of_drm_find_bridge(struct device_node *np)
{
	return NULL;
}
#endif

/**
 * drm_bridge_get_next_bridge() - Get the next bridge in the chain
 * @bridge: bridge object