Commit 1e85b7d4 authored by Sumera Priyadarsini's avatar Sumera Priyadarsini Committed by Melissa Wen
Browse files

drm/vkms: Add support for writeback module

parent 2df7af93
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -40,6 +40,10 @@ static bool enable_cursor = true;
module_param_named(enable_cursor, enable_cursor, bool, 0444);
MODULE_PARM_DESC(enable_cursor, "Enable/Disable cursor support");

static bool enable_writeback = true;
module_param_named(enable_writeback, enable_writeback, bool, 0444);
MODULE_PARM_DESC(enable_writeback, "Enable/Disable writeback connector support");

DEFINE_DRM_GEM_FOPS(vkms_driver_fops);

static void vkms_release(struct drm_device *dev)
@@ -189,6 +193,7 @@ static int __init vkms_init(void)
	default_config = config;

	config->cursor = enable_cursor;
	config->writeback = enable_writeback;

	return vkms_create(config);
}
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ struct vkms_output {
struct vkms_device;

struct vkms_config {
	bool writeback;
	bool cursor;
	/* only set when instantiated */
	struct vkms_device *dev;
+6 −3
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index)
	struct drm_crtc *crtc = &output->crtc;
	struct drm_plane *primary, *cursor = NULL;
	int ret;
	int writeback;

	primary = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_PRIMARY, index);
	if (IS_ERR(primary))
@@ -80,9 +81,11 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index)
		goto err_attach;
	}

	ret = vkms_enable_writeback_connector(vkmsdev);
	if (ret)
	if (vkmsdev->config->writeback) {
		writeback = vkms_enable_writeback_connector(vkmsdev);
		if (writeback)
			DRM_ERROR("Failed to init writeback connector\n");
	}

	drm_mode_config_reset(dev);