linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the drm tree with the  tree
@ 2009-08-20  5:27 Stephen Rothwell
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2009-08-20  5:27 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Thomas Hellstrom, Roel Kluin

Hi Dave,

Today's linux-next merge of the drm tree got conflicts in
drivers/gpu/drm/ttm/ttm_bo.c between commits
ad49f501867cba87e1e45e5ebae0b12435d68bf1 ("drm/ttm/radeon: add dma32
support") and c96e7c7a3a79931446ecf9494a8415e4d164ebd8 ("drm/ttm: Read
buffer overflow") from Linus' tree and commit
a987fcaa805fcb24ba885c2e29fd4fdb6816f08f ("ttm: Make parts of a struct
ttm_bo_device global") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/ttm/ttm_bo.c
index c2b0d71,0d0b1b7..0000000
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@@ -43,7 -43,41 +43,40 @@@
  #define TTM_BO_HASH_ORDER 13
  
  static int ttm_bo_setup_vm(struct ttm_buffer_object *bo);
 -static void ttm_bo_unmap_virtual(struct ttm_buffer_object *bo);
  static int ttm_bo_swapout(struct ttm_mem_shrink *shrink);
+ static void ttm_bo_global_kobj_release(struct kobject *kobj);
+ 
+ static struct attribute ttm_bo_count = {
+ 	.name = "bo_count",
+ 	.mode = S_IRUGO
+ };
+ 
+ static ssize_t ttm_bo_global_show(struct kobject *kobj,
+ 				  struct attribute *attr,
+ 				  char *buffer)
+ {
+ 	struct ttm_bo_global *glob =
+ 		container_of(kobj, struct ttm_bo_global, kobj);
+ 
+ 	return snprintf(buffer, PAGE_SIZE, "%lu\n",
+ 			(unsigned long) atomic_read(&glob->bo_count));
+ }
+ 
+ static struct attribute *ttm_bo_global_attrs[] = {
+ 	&ttm_bo_count,
+ 	NULL
+ };
+ 
+ static struct sysfs_ops ttm_bo_global_ops = {
+ 	.show = &ttm_bo_global_show
+ };
+ 
+ static struct kobj_type ttm_bo_glob_kobj_type  = {
+ 	.release = &ttm_bo_global_kobj_release,
+ 	.sysfs_ops = &ttm_bo_global_ops,
+ 	.default_attrs = ttm_bo_global_attrs
+ };
+ 
  
  static inline uint32_t ttm_bo_type_flags(unsigned type)
  {
@@@ -1182,7 -1193,8 +1225,8 @@@ static int ttm_bo_force_list_clean(stru
  
  int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type)
  {
+ 	struct ttm_bo_global *glob = bdev->glob;
 -	struct ttm_mem_type_manager *man = &bdev->man[mem_type];
 +	struct ttm_mem_type_manager *man;
  	int ret = -EINVAL;
  
  	if (mem_type >= TTM_NUM_MEM_TYPES) {
@@@ -1329,17 -1414,10 +1447,11 @@@ int ttm_bo_device_release(struct ttm_bo
  }
  EXPORT_SYMBOL(ttm_bo_device_release);
  
- /*
-  * This function is intended to be called on drm driver load.
-  * If you decide to call it from firstopen, you must protect the call
-  * from a potentially racing ttm_bo_driver_finish in lastclose.
-  * (This may happen on X server restart).
-  */
- 
  int ttm_bo_device_init(struct ttm_bo_device *bdev,
- 		       struct ttm_mem_global *mem_glob,
- 		       struct ttm_bo_driver *driver, uint64_t file_page_offset,
+ 		       struct ttm_bo_global *glob,
+ 		       struct ttm_bo_driver *driver,
 -		       uint64_t file_page_offset)
++		       uint64_t file_page_offset,
 +		       bool need_dma32)
  {
  	int ret = -EINVAL;
  
@@@ -1374,30 -1444,17 +1478,18 @@@
  	INIT_DELAYED_WORK(&bdev->wq, ttm_bo_delayed_workqueue);
  	bdev->nice_mode = true;
  	INIT_LIST_HEAD(&bdev->ddestroy);
- 	INIT_LIST_HEAD(&bdev->swap_lru);
  	bdev->dev_mapping = NULL;
 +	bdev->need_dma32 = need_dma32;
- 	ttm_mem_init_shrink(&bdev->shrink, ttm_bo_swapout);
- 	ret = ttm_mem_register_shrink(mem_glob, &bdev->shrink);
- 	if (unlikely(ret != 0)) {
- 		printk(KERN_ERR TTM_PFX
- 		       "Could not register buffer object swapout.\n");
- 		goto out_err2;
- 	}
+ 	bdev->glob = glob;
  
- 	bdev->ttm_bo_extra_size =
- 		ttm_round_pot(sizeof(struct ttm_tt)) +
- 		ttm_round_pot(sizeof(struct ttm_backend));
- 
- 	bdev->ttm_bo_size = bdev->ttm_bo_extra_size +
- 		ttm_round_pot(sizeof(struct ttm_buffer_object));
+ 	mutex_lock(&glob->device_list_mutex);
+ 	list_add_tail(&bdev->device_list, &glob->device_list);
+ 	mutex_unlock(&glob->device_list_mutex);
  
  	return 0;
- out_err2:
+ out_no_addr_mm:
  	ttm_bo_clean_mm(bdev, 0);
- out_err1:
- 	__free_page(bdev->dummy_read_page);
- out_err0:
+ out_no_sys:
  	return ret;
  }
  EXPORT_SYMBOL(ttm_bo_device_init);

^ permalink raw reply	[flat|nested] 7+ messages in thread
* linux-next: manual merge of the drm tree with the  tree
@ 2015-12-03 14:41 Mark Brown
  0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2015-12-03 14:41 UTC (permalink / raw)
  To: Dave Airlie, Jani Nikula, Patrik Jakobsson, Imre Deak,
	Ville Syrjälä
  Cc: linux-next, linux-kernel, dri-devel

[-- Attachment #1: Type: text/plain, Size: 537 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in 
drivers/gpu/drm/i915/intel_runtime_pm.c between commit
ac9b8236551d11 ("drm/i915: Introduce a gmbus power domain") from the
drm-intel-fixes tree and commit 73dfc227ff5c8e005 ("drm/i915/skl: init/uninit
display core as part of the HW power domain state") from the drm tree. It
also seems like the gmbus power domain commit has been added in both trees.

I fixed it up (resulting in an empty diff) and can carry the fix as necessary
(no action is required).

[-- Attachment #2: Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread
* linux-next: manual merge of the drm tree with the  tree
@ 2014-01-08  1:50 Stephen Rothwell
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2014-01-08  1:50 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Alexander van Heukelum, Jani Nikula

[-- Attachment #1: Type: text/plain, Size: 1819 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_display.c between commit be505f643925 ("Revert
"drm/i915: assume all GM45 Acer laptops use inverted backlight PWM"")
from the drm-intel-fixes tree and commit bc0bb9fd1c78 ("drm/i915: remove
QUIRK_NO_PCH_PWM_ENABLE") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_display.c
index 769b864465a9,0bb3d6d596d9..000000000000
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@@ -10541,25 -10731,11 +10731,20 @@@ static struct intel_quirk intel_quirks[
  	/* Sony Vaio Y cannot use SSC on LVDS */
  	{ 0x0046, 0x104d, 0x9076, quirk_ssc_force_disable },
  
 -	/*
 -	 * All GM45 Acer (and its brands eMachines and Packard Bell) laptops
 -	 * seem to use inverted backlight PWM.
 -	 */
 -	{ 0x2a42, 0x1025, PCI_ANY_ID, quirk_invert_brightness },
 +	/* Acer Aspire 5734Z must invert backlight brightness */
 +	{ 0x2a42, 0x1025, 0x0459, quirk_invert_brightness },
 +
 +	/* Acer/eMachines G725 */
 +	{ 0x2a42, 0x1025, 0x0210, quirk_invert_brightness },
 +
 +	/* Acer/eMachines e725 */
 +	{ 0x2a42, 0x1025, 0x0212, quirk_invert_brightness },
 +
 +	/* Acer/Packard Bell NCL20 */
 +	{ 0x2a42, 0x1025, 0x034b, quirk_invert_brightness },
 +
 +	/* Acer Aspire 4736Z */
 +	{ 0x2a42, 0x1025, 0x0260, quirk_invert_brightness },
- 
- 	/* Dell XPS13 HD Sandy Bridge */
- 	{ 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable },
- 	/* Dell XPS13 HD and XPS13 FHD Ivy Bridge */
- 	{ 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable },
  };
  
  static void intel_init_quirks(struct drm_device *dev)

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread
* linux-next: manual merge of the drm tree with the  tree
@ 2012-10-04  2:21 Stephen Rothwell
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2012-10-04  2:21 UTC (permalink / raw)
  To: Dave Airlie
  Cc: linux-next, linux-kernel, David Howells, Ben Skeggs,
	Martin Peres, Dmitry Eremin-Solenikov

[-- Attachment #1: Type: text/plain, Size: 567 bytes --]

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/nouveau (lots of files) between commit 760285e7e7ab
("UAPI: (Scripted) Convert #include "..." to #include <path/...> in
drivers/gpu/") from Linus' tree and various commits from the drm tree.

There is a large reorganisation under drivers/gpu/nouveau in the drm
tree (which only appeared in linux-next today :-().

I used the drm tree versions of the files and but this needs to be done
properly.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread
* linux-next: manual merge of the drm tree with the  tree
@ 2010-03-02  3:36 Stephen Rothwell
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2010-03-02  3:36 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Mike Travis

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/vga/Kconfig between commit
36028f3383872eefb558a4aae4c12ec2b5fa640f ("vgaarb: Add user selectability
of the number of GPUS in a system") from Linus' tree and commit
6a9ee8af344e3bd7dbd61e67037096cdf7f83289 ("vga_switcheroo: initial
implementation (v15)") from the drm tree.

Just overlapping additions.  I fixed it up (see below) and can carry the
fix for a while.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/vga/Kconfig
index 0920492,6116a01..0000000
--- a/drivers/gpu/vga/Kconfig
+++ b/drivers/gpu/vga/Kconfig
@@@ -9,10 -9,15 +9,23 @@@ config VGA_AR
  	  see Documentation/vgaarbiter.txt for more details. Select this to
  	  enable VGA arbiter.
  
 +config VGA_ARB_MAX_GPUS
 +	int "Maximum number of GPUs"
 +	default 16
 +	depends on VGA_ARB
 +	help
 +	  Reserves space in the kernel to maintain resource locking for
 +	  multiple GPUS.  The overhead for each GPU is very small.
++
+ config VGA_SWITCHEROO
+ 	bool "Laptop Hybrid Grapics - GPU switching support"
+ 	default y
+ 	depends on X86
+ 	depends on ACPI
+ 	help
+ 	  Many laptops released in 2008/9/10 have two gpus with a multiplxer
+ 	  to switch between them. This adds support for dynamic switching when
+           X isn't running and delayed switching until the next logoff. This
+ 	  features is called hybrid graphics, ATI PowerXpress, and Nvidia
+ 	  HybridPower.
+ 

^ permalink raw reply	[flat|nested] 7+ messages in thread
* linux-next: manual merge of the drm tree with the  tree
@ 2009-09-30  1:58 Stephen Rothwell
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2009-09-30  1:58 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Jerome Glisse

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/radeon/radeon_asic.h between commit
28d520433b6375740990ab99d69b0d0067fd656b ("drm/vgaarb: add VGA
arbitration support to the drm and kms") from Linus' tree and commits
d39c3b895876427c5083a936e00f3f5b7f0fc1b3 ("drm/radeon/kms: Convert RV515
to new init path and associated cleanup") and
f0ed1f655aa0375e2abba84cc4e8e6c853d48555 ("drm/radeon/kms: Convert R520
to new init path and associated cleanup") from the drm tree.

I fixed it up (see below) and can carry the fix for a while.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/radeon/radeon_asic.h
index 8968f78,bce0cb0..0000000
--- a/drivers/gpu/drm/radeon/radeon_asic.h
+++ b/drivers/gpu/drm/radeon/radeon_asic.h
@@@ -431,25 -421,29 +428,30 @@@ void rv515_ring_start(struct radeon_dev
  uint32_t rv515_pcie_rreg(struct radeon_device *rdev, uint32_t reg);
  void rv515_pcie_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v);
  void rv515_bandwidth_update(struct radeon_device *rdev);
+ int rv515_resume(struct radeon_device *rdev);
+ int rv515_suspend(struct radeon_device *rdev);
  static struct radeon_asic rv515_asic = {
  	.init = &rv515_init,
- 	.errata = &rv515_errata,
- 	.vram_info = &rv515_vram_info,
+ 	.fini = &rv515_fini,
+ 	.suspend = &rv515_suspend,
+ 	.resume = &rv515_resume,
+ 	.errata = NULL,
+ 	.vram_info = NULL,
 +	.vga_set_state = &r100_vga_set_state,
  	.gpu_reset = &rv515_gpu_reset,
- 	.mc_init = &rv515_mc_init,
- 	.mc_fini = &rv515_mc_fini,
- 	.wb_init = &r100_wb_init,
- 	.wb_fini = &r100_wb_fini,
+ 	.mc_init = NULL,
+ 	.mc_fini = NULL,
+ 	.wb_init = NULL,
+ 	.wb_fini = NULL,
  	.gart_init = &rv370_pcie_gart_init,
  	.gart_fini = &rv370_pcie_gart_fini,
- 	.gart_enable = &rv370_pcie_gart_enable,
- 	.gart_disable = &rv370_pcie_gart_disable,
+ 	.gart_enable = NULL,
+ 	.gart_disable = NULL,
  	.gart_tlb_flush = &rv370_pcie_gart_tlb_flush,
  	.gart_set_page = &rv370_pcie_gart_set_page,
- 	.cp_init = &r100_cp_init,
- 	.cp_fini = &r100_cp_fini,
- 	.cp_disable = &r100_cp_disable,
+ 	.cp_init = NULL,
+ 	.cp_fini = NULL,
+ 	.cp_disable = NULL,
  	.cp_commit = &r100_cp_commit,
  	.ring_start = &rv515_ring_start,
  	.ring_test = &r100_ring_test,
@@@ -476,30 -470,29 +478,30 @@@
  /*
   * r520,rv530,rv560,rv570,r580
   */
- void r520_errata(struct radeon_device *rdev);
- void r520_vram_info(struct radeon_device *rdev);
- int r520_mc_init(struct radeon_device *rdev);
- void r520_mc_fini(struct radeon_device *rdev);
- void r520_bandwidth_update(struct radeon_device *rdev);
+ int r520_init(struct radeon_device *rdev);
+ int r520_resume(struct radeon_device *rdev);
  static struct radeon_asic r520_asic = {
- 	.init = &rv515_init,
- 	.errata = &r520_errata,
- 	.vram_info = &r520_vram_info,
+ 	.init = &r520_init,
+ 	.fini = &rv515_fini,
+ 	.suspend = &rv515_suspend,
+ 	.resume = &r520_resume,
+ 	.errata = NULL,
+ 	.vram_info = NULL,
 +	.vga_set_state = &r100_vga_set_state,
  	.gpu_reset = &rv515_gpu_reset,
- 	.mc_init = &r520_mc_init,
- 	.mc_fini = &r520_mc_fini,
- 	.wb_init = &r100_wb_init,
- 	.wb_fini = &r100_wb_fini,
- 	.gart_init = &rv370_pcie_gart_init,
- 	.gart_fini = &rv370_pcie_gart_fini,
- 	.gart_enable = &rv370_pcie_gart_enable,
- 	.gart_disable = &rv370_pcie_gart_disable,
+ 	.mc_init = NULL,
+ 	.mc_fini = NULL,
+ 	.wb_init = NULL,
+ 	.wb_fini = NULL,
+ 	.gart_init = NULL,
+ 	.gart_fini = NULL,
+ 	.gart_enable = NULL,
+ 	.gart_disable = NULL,
  	.gart_tlb_flush = &rv370_pcie_gart_tlb_flush,
  	.gart_set_page = &rv370_pcie_gart_set_page,
- 	.cp_init = &r100_cp_init,
- 	.cp_fini = &r100_cp_fini,
- 	.cp_disable = &r100_cp_disable,
+ 	.cp_init = NULL,
+ 	.cp_fini = NULL,
+ 	.cp_disable = NULL,
  	.cp_commit = &r100_cp_commit,
  	.ring_start = &rv515_ring_start,
  	.ring_test = &r100_ring_test,

^ permalink raw reply	[flat|nested] 7+ messages in thread
* linux-next: manual merge of the drm tree with the  tree
@ 2009-08-10  5:14 Stephen Rothwell
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2009-08-10  5:14 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-next, linux-kernel, Ma Ling, Eric Anholt, Zhao Yakui

Hi Dave,

Today's linux-next merge of the drm tree got a conflict in
drivers/gpu/drm/i915/intel_sdvo.c between commit
fb7a46f3cc7d7dcf7c5edb3a38c84e3f730d7adb ("drm/i915: Choose real sdvo
output according to result from detection") from Linus' tree and commit
8a4c47f346cc7a12d0897c05eb3cc1add26b487f ("drm: Remove the unused prefix
in DRM_DEBUG_KMS/DRIVER/MODE") from the drm tree.

I fixed it up (see below) and can carry the fix as necessary.  This fix
may not be correct, so it would be better if you could fix it in the drm
tree by merging Linus' tree.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_sdvo.c
index 5371d93,abef69c..0000000
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@@ -1519,7 -1459,7 +1518,7 @@@ static enum drm_connector_status intel_
  	intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0);
  	status = intel_sdvo_read_response(intel_output, &response, 2);
  
- 	DRM_DEBUG("SDVO response %d %d\n", response & 0xff, response >> 8);
 -	DRM_DEBUG_KMS("SDVO response %d %d\n", response[0], response[1]);
++	DRM_DEBUG_KMS("SDVO response %d %d\n", response & 0xff, response >> 8);
  
  	if (status != SDVO_CMD_STATUS_SUCCESS)
  		return connector_status_unknown;
@@@ -1931,93 -1865,6 +1930,92 @@@ intel_sdvo_get_slave_addr(struct drm_de
  		return 0x72;
  }
  
 +static bool
 +intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags)
 +{
 +	struct drm_connector *connector = &intel_output->base;
 +	struct drm_encoder *encoder = &intel_output->enc;
 +	struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv;
 +	bool ret = true, registered = false;
 +
 +	sdvo_priv->is_tv = false;
 +	intel_output->needs_tv_clock = false;
 +	sdvo_priv->is_lvds = false;
 +
 +	if (device_is_registered(&connector->kdev)) {
 +		drm_sysfs_connector_remove(connector);
 +		registered = true;
 +	}
 +
 +	if (flags &
 +	    (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1)) {
 +		if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_TMDS0)
 +			sdvo_priv->controlled_output = SDVO_OUTPUT_TMDS0;
 +		else
 +			sdvo_priv->controlled_output = SDVO_OUTPUT_TMDS1;
 +
 +		encoder->encoder_type = DRM_MODE_ENCODER_TMDS;
 +		connector->connector_type = DRM_MODE_CONNECTOR_DVID;
 +
 +		if (intel_sdvo_get_supp_encode(intel_output,
 +					       &sdvo_priv->encode) &&
 +		    intel_sdvo_get_digital_encoding_mode(intel_output) &&
 +		    sdvo_priv->is_hdmi) {
 +			/* enable hdmi encoding mode if supported */
 +			intel_sdvo_set_encode(intel_output, SDVO_ENCODE_HDMI);
 +			intel_sdvo_set_colorimetry(intel_output,
 +						   SDVO_COLORIMETRY_RGB256);
 +			connector->connector_type = DRM_MODE_CONNECTOR_HDMIA;
 +		}
 +	} else if (flags & SDVO_OUTPUT_SVID0) {
 +
 +		sdvo_priv->controlled_output = SDVO_OUTPUT_SVID0;
 +		encoder->encoder_type = DRM_MODE_ENCODER_TVDAC;
 +		connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO;
 +		sdvo_priv->is_tv = true;
 +		intel_output->needs_tv_clock = true;
 +	} else if (flags & SDVO_OUTPUT_RGB0) {
 +
 +		sdvo_priv->controlled_output = SDVO_OUTPUT_RGB0;
 +		encoder->encoder_type = DRM_MODE_ENCODER_DAC;
 +		connector->connector_type = DRM_MODE_CONNECTOR_VGA;
 +	} else if (flags & SDVO_OUTPUT_RGB1) {
 +
 +		sdvo_priv->controlled_output = SDVO_OUTPUT_RGB1;
 +		encoder->encoder_type = DRM_MODE_ENCODER_DAC;
 +		connector->connector_type = DRM_MODE_CONNECTOR_VGA;
 +	} else if (flags & SDVO_OUTPUT_LVDS0) {
 +
 +		sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS0;
 +		encoder->encoder_type = DRM_MODE_ENCODER_LVDS;
 +		connector->connector_type = DRM_MODE_CONNECTOR_LVDS;
 +		sdvo_priv->is_lvds = true;
 +	} else if (flags & SDVO_OUTPUT_LVDS1) {
 +
 +		sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS1;
 +		encoder->encoder_type = DRM_MODE_ENCODER_LVDS;
 +		connector->connector_type = DRM_MODE_CONNECTOR_LVDS;
 +		sdvo_priv->is_lvds = true;
 +	} else {
 +
 +		unsigned char bytes[2];
 +
 +		sdvo_priv->controlled_output = 0;
 +		memcpy(bytes, &sdvo_priv->caps.output_flags, 2);
- 		DRM_DEBUG_KMS(I915_SDVO,
- 				"%s: Unknown SDVO output type (0x%02x%02x)\n",
++		DRM_DEBUG_KMS("%s: Unknown SDVO output type (0x%02x%02x)\n",
 +				  SDVO_NAME(sdvo_priv),
 +				  bytes[0], bytes[1]);
 +		ret = false;
 +	}
 +
 +	if (ret && registered)
 +		ret = drm_sysfs_connector_add(connector) == 0 ? true : false;
 +
 +
 +	return ret;
 +
 +}
 +
  bool intel_sdvo_init(struct drm_device *dev, int output_device)
  {
  	struct drm_connector *connector;
@@@ -2075,12 -1923,75 +2072,12 @@@
  	intel_output->ddc_bus->algo = &intel_sdvo_i2c_bit_algo;
  
  	/* In defaut case sdvo lvds is false */
 -	sdvo_priv->is_lvds = false;
  	intel_sdvo_get_capabilities(intel_output, &sdvo_priv->caps);
  
 -	if (sdvo_priv->caps.output_flags &
 -	    (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1)) {
 -		if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_TMDS0)
 -			sdvo_priv->controlled_output = SDVO_OUTPUT_TMDS0;
 -		else
 -			sdvo_priv->controlled_output = SDVO_OUTPUT_TMDS1;
 -
 -		encoder_type = DRM_MODE_ENCODER_TMDS;
 -		connector_type = DRM_MODE_CONNECTOR_DVID;
 -
 -		if (intel_sdvo_get_supp_encode(intel_output,
 -					       &sdvo_priv->encode) &&
 -		    intel_sdvo_get_digital_encoding_mode(intel_output) &&
 -		    sdvo_priv->is_hdmi) {
 -			/* enable hdmi encoding mode if supported */
 -			intel_sdvo_set_encode(intel_output, SDVO_ENCODE_HDMI);
 -			intel_sdvo_set_colorimetry(intel_output,
 -						   SDVO_COLORIMETRY_RGB256);
 -			connector_type = DRM_MODE_CONNECTOR_HDMIA;
 -		}
 -	}
 -	else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_SVID0)
 -	{
 -		sdvo_priv->controlled_output = SDVO_OUTPUT_SVID0;
 -		encoder_type = DRM_MODE_ENCODER_TVDAC;
 -		connector_type = DRM_MODE_CONNECTOR_SVIDEO;
 -		sdvo_priv->is_tv = true;
 -		intel_output->needs_tv_clock = true;
 -	}
 -	else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_RGB0)
 -	{
 -		sdvo_priv->controlled_output = SDVO_OUTPUT_RGB0;
 -		encoder_type = DRM_MODE_ENCODER_DAC;
 -		connector_type = DRM_MODE_CONNECTOR_VGA;
 -	}
 -	else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_RGB1)
 -	{
 -		sdvo_priv->controlled_output = SDVO_OUTPUT_RGB1;
 -		encoder_type = DRM_MODE_ENCODER_DAC;
 -		connector_type = DRM_MODE_CONNECTOR_VGA;
 -	}
 -	else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_LVDS0)
 -	{
 -		sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS0;
 -		encoder_type = DRM_MODE_ENCODER_LVDS;
 -		connector_type = DRM_MODE_CONNECTOR_LVDS;
 -		sdvo_priv->is_lvds = true;
 -	}
 -	else if (sdvo_priv->caps.output_flags & SDVO_OUTPUT_LVDS1)
 -	{
 -		sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS1;
 -		encoder_type = DRM_MODE_ENCODER_LVDS;
 -		connector_type = DRM_MODE_CONNECTOR_LVDS;
 -		sdvo_priv->is_lvds = true;
 -	}
 -	else
 -	{
 -		unsigned char bytes[2];
 -
 -		sdvo_priv->controlled_output = 0;
 -		memcpy (bytes, &sdvo_priv->caps.output_flags, 2);
 -		DRM_DEBUG_KMS("%s: Unknown SDVO output type (0x%02x%02x)\n",
 -				  SDVO_NAME(sdvo_priv),
 -				  bytes[0], bytes[1]);
 -		encoder_type = DRM_MODE_ENCODER_NONE;
 -		connector_type = DRM_MODE_CONNECTOR_Unknown;
 +	if (intel_sdvo_output_setup(intel_output,
 +				    sdvo_priv->caps.output_flags) != true) {
- 		DRM_DEBUG("SDVO output failed to setup on SDVO%c\n",
++		DRM_DEBUG_KMS("SDVO output failed to setup on SDVO%c\n",
 +			  output_device == SDVOB ? 'B' : 'C');
  		goto err_i2c;
  	}
  

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-12-03 14:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-20  5:27 linux-next: manual merge of the drm tree with the tree Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2015-12-03 14:41 Mark Brown
2014-01-08  1:50 Stephen Rothwell
2012-10-04  2:21 Stephen Rothwell
2010-03-02  3:36 Stephen Rothwell
2009-09-30  1:58 Stephen Rothwell
2009-08-10  5:14 Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).