Commit bcc9d0e3 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge branch 'malidp-fixes' of git://linux-arm.org/linux-ld into drm-fixes



Assorted set of patches for Arm DRM drivers that I maintain
in my tree.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
From: Liviu Dudau <Liviu.Dudau@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190604144205.GO15316@e110455-lin.cambridge.arm.com
parents dbd9f78e 6d10dc61
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -245,7 +245,7 @@ static void d71_layer_dump(struct komeda_component *c, struct seq_file *sf)
	seq_printf(sf, "%sAD_V_CROP:\t\t0x%X\n", prefix, v[2]);
	seq_printf(sf, "%sAD_V_CROP:\t\t0x%X\n", prefix, v[2]);
}
}


static struct komeda_component_funcs d71_layer_funcs = {
static const struct komeda_component_funcs d71_layer_funcs = {
	.update		= d71_layer_update,
	.update		= d71_layer_update,
	.disable	= d71_layer_disable,
	.disable	= d71_layer_disable,
	.dump_register	= d71_layer_dump,
	.dump_register	= d71_layer_dump,
@@ -391,7 +391,7 @@ static void d71_compiz_dump(struct komeda_component *c, struct seq_file *sf)
	seq_printf(sf, "CU_USER_HIGH:\t\t0x%X\n", v[1]);
	seq_printf(sf, "CU_USER_HIGH:\t\t0x%X\n", v[1]);
}
}


static struct komeda_component_funcs d71_compiz_funcs = {
static const struct komeda_component_funcs d71_compiz_funcs = {
	.update		= d71_compiz_update,
	.update		= d71_compiz_update,
	.disable	= d71_component_disable,
	.disable	= d71_component_disable,
	.dump_register	= d71_compiz_dump,
	.dump_register	= d71_compiz_dump,
@@ -467,7 +467,7 @@ static void d71_improc_dump(struct komeda_component *c, struct seq_file *sf)
		seq_printf(sf, "IPS_RGB_YUV_COEFF%u:\t0x%X\n", i, v[i]);
		seq_printf(sf, "IPS_RGB_YUV_COEFF%u:\t0x%X\n", i, v[i]);
}
}


static struct komeda_component_funcs d71_improc_funcs = {
static const struct komeda_component_funcs d71_improc_funcs = {
	.update		= d71_improc_update,
	.update		= d71_improc_update,
	.disable	= d71_component_disable,
	.disable	= d71_component_disable,
	.dump_register	= d71_improc_dump,
	.dump_register	= d71_improc_dump,
@@ -580,7 +580,7 @@ static void d71_timing_ctrlr_dump(struct komeda_component *c,
	seq_printf(sf, "BS_USER:\t\t0x%X\n", v[4]);
	seq_printf(sf, "BS_USER:\t\t0x%X\n", v[4]);
}
}


static struct komeda_component_funcs d71_timing_ctrlr_funcs = {
static const struct komeda_component_funcs d71_timing_ctrlr_funcs = {
	.update		= d71_timing_ctrlr_update,
	.update		= d71_timing_ctrlr_update,
	.disable	= d71_timing_ctrlr_disable,
	.disable	= d71_timing_ctrlr_disable,
	.dump_register	= d71_timing_ctrlr_dump,
	.dump_register	= d71_timing_ctrlr_dump,
+2 −2
Original line number Original line Diff line number Diff line
@@ -502,7 +502,7 @@ static void d71_init_fmt_tbl(struct komeda_dev *mdev)
	table->n_formats = ARRAY_SIZE(d71_format_caps_table);
	table->n_formats = ARRAY_SIZE(d71_format_caps_table);
}
}


static struct komeda_dev_funcs d71_chip_funcs = {
static const struct komeda_dev_funcs d71_chip_funcs = {
	.init_format_table = d71_init_fmt_tbl,
	.init_format_table = d71_init_fmt_tbl,
	.enum_resources	= d71_enum_resources,
	.enum_resources	= d71_enum_resources,
	.cleanup	= d71_cleanup,
	.cleanup	= d71_cleanup,
@@ -514,7 +514,7 @@ static struct komeda_dev_funcs d71_chip_funcs = {
	.flush		= d71_flush,
	.flush		= d71_flush,
};
};


struct komeda_dev_funcs *
const struct komeda_dev_funcs *
d71_identify(u32 __iomem *reg_base, struct komeda_chip_info *chip)
d71_identify(u32 __iomem *reg_base, struct komeda_chip_info *chip)
{
{
	chip->arch_id	= malidp_read32(reg_base, GLB_ARCH_ID);
	chip->arch_id	= malidp_read32(reg_base, GLB_ARCH_ID);
+1 −1
Original line number Original line Diff line number Diff line
@@ -350,7 +350,7 @@ static bool komeda_crtc_mode_fixup(struct drm_crtc *crtc,
	return true;
	return true;
}
}


static struct drm_crtc_helper_funcs komeda_crtc_helper_funcs = {
static const struct drm_crtc_helper_funcs komeda_crtc_helper_funcs = {
	.atomic_check	= komeda_crtc_atomic_check,
	.atomic_check	= komeda_crtc_atomic_check,
	.atomic_flush	= komeda_crtc_atomic_flush,
	.atomic_flush	= komeda_crtc_atomic_flush,
	.atomic_enable	= komeda_crtc_atomic_enable,
	.atomic_enable	= komeda_crtc_atomic_enable,
+5 −1
Original line number Original line Diff line number Diff line
@@ -8,6 +8,7 @@
#include <linux/of_device.h>
#include <linux/of_device.h>
#include <linux/of_graph.h>
#include <linux/of_graph.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#ifdef CONFIG_DEBUG_FS
#ifdef CONFIG_DEBUG_FS
#include <linux/debugfs.h>
#include <linux/debugfs.h>
#include <linux/seq_file.h>
#include <linux/seq_file.h>
@@ -249,6 +250,9 @@ struct komeda_dev *komeda_dev_create(struct device *dev)
		goto err_cleanup;
		goto err_cleanup;
	}
	}


	dev->dma_parms = &mdev->dma_parms;
	dma_set_max_seg_size(dev, DMA_BIT_MASK(32));

	err = sysfs_create_group(&dev->kobj, &komeda_sysfs_attr_group);
	err = sysfs_create_group(&dev->kobj, &komeda_sysfs_attr_group);
	if (err) {
	if (err) {
		DRM_ERROR("create sysfs group failed.\n");
		DRM_ERROR("create sysfs group failed.\n");
@@ -269,7 +273,7 @@ err_cleanup:
void komeda_dev_destroy(struct komeda_dev *mdev)
void komeda_dev_destroy(struct komeda_dev *mdev)
{
{
	struct device *dev = mdev->dev;
	struct device *dev = mdev->dev;
	struct komeda_dev_funcs *funcs = mdev->funcs;
	const struct komeda_dev_funcs *funcs = mdev->funcs;
	int i;
	int i;


	sysfs_remove_group(&dev->kobj, &komeda_sysfs_attr_group);
	sysfs_remove_group(&dev->kobj, &komeda_sysfs_attr_group);
+5 −3
Original line number Original line Diff line number Diff line
@@ -60,7 +60,7 @@ struct komeda_chip_info {


struct komeda_product_data {
struct komeda_product_data {
	u32 product_id;
	u32 product_id;
	struct komeda_dev_funcs *(*identify)(u32 __iomem *reg,
	const struct komeda_dev_funcs *(*identify)(u32 __iomem *reg,
					     struct komeda_chip_info *info);
					     struct komeda_chip_info *info);
};
};


@@ -149,6 +149,8 @@ struct komeda_dev {
	struct device *dev;
	struct device *dev;
	/** @reg_base: the base address of komeda io space */
	/** @reg_base: the base address of komeda io space */
	u32 __iomem   *reg_base;
	u32 __iomem   *reg_base;
	/** @dma_parms: the dma parameters of komeda */
	struct device_dma_parameters dma_parms;


	/** @chip: the basic chip information */
	/** @chip: the basic chip information */
	struct komeda_chip_info chip;
	struct komeda_chip_info chip;
@@ -173,7 +175,7 @@ struct komeda_dev {
	struct komeda_pipeline *pipelines[KOMEDA_MAX_PIPELINES];
	struct komeda_pipeline *pipelines[KOMEDA_MAX_PIPELINES];


	/** @funcs: chip funcs to access to HW */
	/** @funcs: chip funcs to access to HW */
	struct komeda_dev_funcs *funcs;
	const struct komeda_dev_funcs *funcs;
	/**
	/**
	 * @chip_data:
	 * @chip_data:
	 *
	 *
@@ -192,7 +194,7 @@ komeda_product_match(struct komeda_dev *mdev, u32 target)
	return MALIDP_CORE_ID_PRODUCT_ID(mdev->chip.core_id) == target;
	return MALIDP_CORE_ID_PRODUCT_ID(mdev->chip.core_id) == target;
}
}


struct komeda_dev_funcs *
const struct komeda_dev_funcs *
d71_identify(u32 __iomem *reg, struct komeda_chip_info *chip);
d71_identify(u32 __iomem *reg, struct komeda_chip_info *chip);


struct komeda_dev *komeda_dev_create(struct device *dev);
struct komeda_dev *komeda_dev_create(struct device *dev);
Loading