Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 757c26b8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (135 commits)
  drm/radeon/kms: fix DP training for DPEncoderService revision bigger than 1.1
  drm/radeon/kms: add missing vddci setting on NI+
  drm/radeon: Add a rmb() in IH processing
  drm/radeon: ATOM Endian fix for atombios_crtc_program_pll()
  drm/radeon: Fix the definition of RADEON_BUF_SWAP_32BIT
  drm/radeon: Do an MMIO read on interrupts when not uisng MSIs
  drm/radeon: Writeback endian fixes
  drm/radeon: Remove a bunch of useless _iomem casts
  drm/gem: add support for private objects
  DRM: clean up and document parsing of video= parameter
  DRM: Radeon: Fix section mismatch.
  drm: really make debug levels match in edid failure code
  drm/radeon/kms: fix i2c map for rv250/280
  drm/nouveau/gr: disable fifo access and idle before suspend ctx unload
  drm/nouveau: pass flag to engine fini() method on suspend
  drm/nouveau: replace nv04_graph_fifo_access() use with direct reg bashing
  drm/nv40/gr: rewrite/split context takedown functions
  drm/nouveau: detect disabled device in irq handler and return IRQ_NONE
  drm/nouveau: ignore connector type when deciding digital/analog on DVI-I
  drm/nouveau: Add a quirk for Gigabyte NX86T
  ...
parents e08dc132 5a96a899
Loading
Loading
Loading
Loading
+18 −3
Original line number Original line Diff line number Diff line
@@ -20,7 +20,7 @@ in a video= option, fbmem considers that to be a global video mode option.


Valid mode specifiers (mode_option argument):
Valid mode specifiers (mode_option argument):


    <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m]
    <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
    <name>[-<bpp>][@<refresh>]
    <name>[-<bpp>][@<refresh>]


with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string.
with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string.
@@ -36,6 +36,21 @@ pixels and 1.8% of yres).


       Sample usage: 1024x768M@60m - CVT timing with margins
       Sample usage: 1024x768M@60m - CVT timing with margins


DRM drivers also add options to enable or disable outputs:

'e' will force the display to be enabled, i.e. it will override the detection
if a display is connected. 'D' will force the display to be enabled and use
digital output. This is useful for outputs that have both analog and digital
signals (e.g. HDMI and DVI-I). For other outputs it behaves like 'e'. If 'd'
is specified the output is disabled.

You can additionally specify which output the options matches to.
To force the VGA output to be enabled and drive a specific mode say:
    video=VGA-1:1280x1024@60me

Specifying the option multiple times for different ports is possible, e.g.:
    video=LVDS-1:d video=HDMI-1:D

***** oOo ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo *****
***** oOo ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo *****


What is the VESA(TM) Coordinated Video Timings (CVT)?
What is the VESA(TM) Coordinated Video Timings (CVT)?
@@ -132,5 +147,5 @@ There may be more modes.
    tridentfb	- Trident (Cyber)blade chipset frame buffer
    tridentfb	- Trident (Cyber)blade chipset frame buffer
    vt8623fb	- VIA 8623 frame buffer
    vt8623fb	- VIA 8623 frame buffer


BTW, only a few drivers use this at the moment. Others are to follow
BTW, only a few fb drivers use this at the moment. Others are to follow
(feel free to send patches).
(feel free to send patches). The DRM drivers also support this.
+4 −3
Original line number Original line Diff line number Diff line
@@ -46,7 +46,6 @@


#define PREFIX "ACPI: "
#define PREFIX "ACPI: "


#define ACPI_VIDEO_CLASS		"video"
#define ACPI_VIDEO_BUS_NAME		"Video Bus"
#define ACPI_VIDEO_BUS_NAME		"Video Bus"
#define ACPI_VIDEO_DEVICE_NAME		"Video Device"
#define ACPI_VIDEO_DEVICE_NAME		"Video Device"
#define ACPI_VIDEO_NOTIFY_SWITCH	0x80
#define ACPI_VIDEO_NOTIFY_SWITCH	0x80
@@ -1445,6 +1444,7 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event)
	case ACPI_VIDEO_NOTIFY_SWITCH:	/* User requested a switch,
	case ACPI_VIDEO_NOTIFY_SWITCH:	/* User requested a switch,
					 * most likely via hotkey. */
					 * most likely via hotkey. */
		acpi_bus_generate_proc_event(device, event, 0);
		acpi_bus_generate_proc_event(device, event, 0);
		if (!acpi_notifier_call_chain(device, event, 0))
			keycode = KEY_SWITCHVIDEOMODE;
			keycode = KEY_SWITCHVIDEOMODE;
		break;
		break;


@@ -1475,6 +1475,7 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event)
		break;
		break;
	}
	}


	if (event != ACPI_VIDEO_NOTIFY_SWITCH)
		acpi_notifier_call_chain(device, event, 0);
		acpi_notifier_call_chain(device, event, 0);


	if (keycode) {
	if (keycode) {
+20 −0
Original line number Original line Diff line number Diff line
@@ -1199,6 +1199,26 @@ unsigned int cpufreq_quick_get(unsigned int cpu)
}
}
EXPORT_SYMBOL(cpufreq_quick_get);
EXPORT_SYMBOL(cpufreq_quick_get);


/**
 * cpufreq_quick_get_max - get the max reported CPU frequency for this CPU
 * @cpu: CPU number
 *
 * Just return the max possible frequency for a given CPU.
 */
unsigned int cpufreq_quick_get_max(unsigned int cpu)
{
	struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
	unsigned int ret_freq = 0;

	if (policy) {
		ret_freq = policy->max;
		cpufreq_cpu_put(policy);
	}

	return ret_freq;
}
EXPORT_SYMBOL(cpufreq_quick_get_max);



static unsigned int __cpufreq_get(unsigned int cpu)
static unsigned int __cpufreq_get(unsigned int cpu)
{
{
+5 −0
Original line number Original line Diff line number Diff line
@@ -560,6 +560,11 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set)
			mode_changed = true;
			mode_changed = true;
		} else if (set->fb == NULL) {
		} else if (set->fb == NULL) {
			mode_changed = true;
			mode_changed = true;
		} else if (set->fb->depth != set->crtc->fb->depth) {
			mode_changed = true;
		} else if (set->fb->bits_per_pixel !=
			   set->crtc->fb->bits_per_pixel) {
			mode_changed = true;
		} else
		} else
			fb_changed = true;
			fb_changed = true;
	}
	}
+2 −2
Original line number Original line Diff line number Diff line
@@ -185,8 +185,8 @@ drm_edid_block_valid(u8 *raw_edid)
bad:
bad:
	if (raw_edid) {
	if (raw_edid) {
		printk(KERN_ERR "Raw EDID:\n");
		printk(KERN_ERR "Raw EDID:\n");
		print_hex_dump_bytes(KERN_ERR, DUMP_PREFIX_NONE, raw_edid, EDID_LENGTH);
		print_hex_dump(KERN_ERR, " \t", DUMP_PREFIX_NONE, 16, 1,
		printk(KERN_ERR "\n");
			       raw_edid, EDID_LENGTH, false);
	}
	}
	return 0;
	return 0;
}
}
Loading