28 Nov, 2011
1 commit
-
* 'exynos-drm' of git://git.infradead.org/users/kmpark/linux-samsung:
drm/exynos: fixed wrong err ptr usage and destroy call in exeception
drm/exynos: Add disable of manager
drm/exynos: include linux/module.h
drm/exynos: fix vblank bug.
drm/exynos: changed buffer structure.
drm/exynos: removed unnecessary variable.
drm/exynos: use gem create function generically
drm/exynos: checked for null pointer
drm/exynos: added crtc dpms for disable crtc
drm/exynos: removed meaningless parameter from fbdev update
drm/exynos: restored kernel_fb_list when reiniting fb_helper
drm/exynos: changed exynos_drm_display to exynos_drm_display_ops
drm/exynos: added manager object to connector
drm/exynos: fixed converting between display mode and timing
drm/exynos: fixed connector flag with hpd and interlace scan for hdmi
drm/exynos: added kms poll for handling hpd event
24 Nov, 2011
1 commit
-
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (31 commits)
drm: integer overflow in drm_mode_dirtyfb_ioctl()
drivers/gpu/vga/vgaarb.c: add missing kfree
drm/radeon/kms/atom: unify i2c gpio table handling
drm/radeon/kms: fix up gpio i2c mask bits for r4xx for real
ttm: Don't return the bo reserved on error path
drm/radeon/kms: add a CS ioctl flag not to rewrite tiling flags in the CS
drm/i915: Fix inconsistent backlight level during disabled
drm, i915: Fix memory leak in i915_gem_busy_ioctl().
drm/i915: Use DPCD value for max DP lanes.
drm/i915: Initiate DP link training only on the lanes we'll be using
drm/i915: Remove trailing white space
drm/i915: Try harder during dp pattern 1 link training
drm/i915: Make DP prepare/commit consistent with DP dpms
drm/i915: Let panel power sequencing hardware do its job
drm/i915: Treat PCH eDP like DP in most places
drm/i915: Remove link_status field from intel_dp structure
drm/i915: Move common PCH_PP_CONTROL setup to ironlake_get_pp_control
drm/i915: Module parameters using '-1' as default must be signed type
drm/i915: Turn on another required clock gating bit on gen6.
drm/i915: Turn on a required 3D clock gating bit on Sandybridge.
...
23 Nov, 2011
6 commits
-
There is a potential integer overflow in drm_mode_dirtyfb_ioctl()
if userspace passes in a large num_clips. The call to kmalloc would
allocate a small buffer, and the call to fb->funcs->dirty may result
in a memory corruption.Reported-by: Haogang Chen
Signed-off-by: Xi Wang
Cc: stable@kernel.org
Signed-off-by: Dave Airlie -
kbuf is a buffer that is local to this function, so all of the error paths
leaving the function should release it.Signed-off-by: Julia Lawall
Cc: Jesper Juhl
Signed-off-by: Andrew Morton
Signed-off-by: Dave Airlie -
Split the quirks and i2c_rec assignment into separate
functions used by both radeon_lookup_i2c_gpio() and
radeon_atombios_i2c_init(). This avoids duplicating code
and cases where quirks were only added to one of the
functions.Signed-off-by: Alex Deucher
Cc: Jean Delvare
Signed-off-by: Dave Airlie -
Fixes i2c test failures when i2c_algo_bit.bit_test=1.
The hw doesn't actually require a mask, so just set it
to the default mask bits for r1xx-r4xx radeon ddc.I missed this part the first time through.
Signed-off-by: Alex Deucher
Cc: stable@kernel.org
Cc: Jean Delvare
Signed-off-by: Dave Airlie -
An unlikely race could case a bo to be returned reserved on an error path.
Signed-off-by: Thomas Hellstrom
Reviewed-by: Jerome Glisse
Signed-off-by: Dave Airlie -
* 'drm-intel-fixes' of git://people.freedesktop.org/~keithp/linux: (25 commits)
drm/i915: Fix inconsistent backlight level during disabled
drm, i915: Fix memory leak in i915_gem_busy_ioctl().
drm/i915: Use DPCD value for max DP lanes.
drm/i915: Initiate DP link training only on the lanes we'll be using
drm/i915: Remove trailing white space
drm/i915: Try harder during dp pattern 1 link training
drm/i915: Make DP prepare/commit consistent with DP dpms
drm/i915: Let panel power sequencing hardware do its job
drm/i915: Treat PCH eDP like DP in most places
drm/i915: Remove link_status field from intel_dp structure
drm/i915: Move common PCH_PP_CONTROL setup to ironlake_get_pp_control
drm/i915: Module parameters using '-1' as default must be signed type
drm/i915: Turn on another required clock gating bit on gen6.
drm/i915: Turn on a required 3D clock gating bit on Sandybridge.
drm/i915: enable cacheable objects on Ivybridge
drm/i915: add constants to size fence arrays and fields
drm/i915: Ivybridge still has fences!
drm/i915: forcewake warning fixes in debugfs
drm/i915: Fix object refcount leak on mmappable size limit error path.
drm/i915: Use mode_config.mutex in ironlake_panel_vdd_work
...
20 Nov, 2011
1 commit
-
This adds a new optional chunk to the CS ioctl that specifies optional flags
to the CS parser. Why this is useful is explained below. Note that some regs
no longer need the NOP relocation packet if this feature is enabled.
Tested on r300g and r600g with this flag disabled and enabled.Assume there are two contexts sharing the same mipmapped tiled texture.
One context wants to render into the first mipmap and the other one
wants to render into the last mipmap. As you probably know, the hardware
has a MACRO_SWITCH feature, which turns off macro tiling for small mipmaps,
but that only applies to samplers.
(at least on r300-r500, though later hardware likely behaves the same)So we want to just re-set the tiling flags before rendering (writing
packets), right? ... No. The contexts run in parallel, so they may
set the tiling flags simultaneously and then fire their command streams
also simultaneously. The last one setting the flags wins, the other one
loses.Another problem is when one context wants to render into the first and
the last mipmap in one CS. Impossible. It must flush before changing
tiling flags and do the rendering into the smaller mipmaps in another CS.Yet another problem is that writing copy_blit in userspace would be a mess
involving re-setting tiling flags to please the kernel, and causing races
with other contexts at the same time.The only way out of this is to send tiling flags with each CS, ideally
with each relocation. But we already do that through the registers.
So let's just use what we have in the registers.Signed-off-by: Marek Olšák
Signed-off-by: Dave Airlie
18 Nov, 2011
2 commits
-
When the brightness property is inquired while the backlight is disabled,
the driver returns a wrong value (zero) because it probes the value after
the backlight was turned off. This caused a black screen even after the
backlight is enabled again. It should return the internal backlight_level
instead, so that it won't be influenced by the backlight-enable state.BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=41926
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/872652Tested-by: Kamal Mostafa
Cc: Alex Davis
Cc:
Signed-off-by: Takashi Iwai
Signed-off-by: Keith Packard -
A call to i915_add_request() has been made in function i915_gem_busy_ioctl(). i915_add_request can fail,
so in it's exit path previously allocated memory needs to be freed.Signed-off-by: Rakib Mullick
Reviewed-by: Keith Packard
Signed-off-by: Keith Packard
17 Nov, 2011
11 commits
-
The BIOS VBT value for an eDP panel has been shown to be incorrect on
one machine, and we haven't found any machines where the DPCD value
was wrong, so we'll use the DPCD value everywhere.Signed-off-by: Keith Packard
Reviewed-by: Adam Jackson
Reviewed-by: Jesse Barnes -
Limit the link training setting command to the lanes needed for the
current mode. It seems vaguely possible that a monitor will try to
train the other lanes and fail in some way, so this seems like the
safer plan.Signed-off-by: Keith Packard
Reviewed-by: Jesse Barnes -
Found a couple of bare tabs in intel_dp.c
Signed-off-by: Keith Packard
Reviewed-by: Jesse Barnes -
Instead of going through the sequence just once, run through the whole
set up to 5 times to see if something can work. This isn't part of the
DP spec, but the BIOS seems to do it, and given that link training
failure is so bad, it seems reasonable to follow suit.Signed-off-by: Keith Packard
Reviewed-by: Jesse Barnes -
Make sure the sequence of operations in all three functions makes
sense:1) The backlight must be off unless the screen is running
2) The link must be running to turn the eDP panel on/off
3) The CPU eDP PLL must be running until everything is offSigned-off-by: Keith Packard
-
The panel power sequencing hardware tracks the stages of panel power
sequencing and signals when the panel is completely on or off. Instead
of blindly assuming the panel timings will work, poll the panel power
status register until it shows the correct values.Signed-off-by: Keith Packard
Reviewed-by: Jesse Barnes -
PCH eDP has many of the same needs as regular PCH DP connections,
including the DP_CTl bit settings, the TRANS_DP_CTL register.Signed-off-by: Keith Packard
Reviewed-by: Jesse Barnes -
No persistent data was ever stored here, so link_status is instead
allocated on the stack as needed.Signed-off-by: Keith Packard
Reviewed-by: Jesse Barnes -
Every usage of PCH_PP_CONTROL sets the PANEL_UNLOCK_REGS value to
ensure that writes will be respected, move this to a common function
to make the driver cleaner.No functional changes.
Signed-off-by: Keith Packard
-
- exynos_drm_buf_create() returns err pointer so NULL check is wrong.
- Case that exynos_gem_obj is not created, destroy call in exception
handle lable uses this pointer. so instead buffer is directly used.Signed-off-by: Seung-Woo Kim
Signed-off-by: Inki Dae -
Signed-off-by: Joonyoung Shim
Signed-off-by: Inki Dae
16 Nov, 2011
3 commits
-
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/radeon/kms: fix segfault in pm rework
drm/radeon/kms: fix up gpio i2c mask bits for r4xx
drm/radeon: add some missing FireMV pci ids
vgaarb: a NULL bridge is acceptable for root devices.
drm: Remove utterly bogus preempt_disable() sections -
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
Fixes i2c test failures when i2c_algo_bit.bit_test=1.
The hw doesn't actually require a mask, so just set it
to the default mask bits for r1xx-r4xx radeon ddc.Signed-off-by: Alex Deucher
Cc: stable@kernel.org
Cc: Jean Delvare
Signed-off-by: Dave Airlie
15 Nov, 2011
14 commits
-
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
In case that vblank_disable_allowed is 1, the problem that manager->pipe
could be -1 at vsync interrupt handler could be induced so this patch fixes
that.Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
the purpose of this patch is to consider IOMMU support in the future.
EXYNOS4 SoC supports IOMMU also so the address for DMA could be
physical address with IOMMU or device address with IOMMU.Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
this patch addes exynos_drm_gem_init() creating and initialzing a gem.
allocation functions could use this function to create new gem and
it changes size type of exynos_drm_gem_create structure to 64bit
and also corrects comments to exynos_drm_gem_create structure.Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
Signed-off-by: Seung-Woo Kim
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
crtc dpms is called as destroying attached fb so dpms off sould be processed.
crtc dpms also can be called after crtc is detached from encoder so pipe value
of manager is used to find display controller for this caseSigned-off-by: Joonyoung Shim
Signed-off-by: Seung-Woo Kim
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
drm_framebuffer already has width and height so they are meaningless as
parameters when updating fb_info.Signed-off-by: Seung-Woo Kim
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
during recreating exynos_drm_fbdev as a new display device probes,
fb_helper is reinitialized but kernel fb is not changed
so kernel_fb_list should be restored after fb_helper is reinitialized.Signed-off-by: Joonyoung Shim
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
exynos_drm_display has function pointes so exynos_drm_display_ops is better
to describe.Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
connector contains some contents for display controller so the connector also
should be able to access controller through manager.Signed-off-by: Inki Dae
Signed-off-by: Seung-Woo Kim
Signed-off-by: Kyungmin Park -
missing members are added into converting function between timing and display
mode and refresh rate of display mode is calculated by drm mode function.Signed-off-by: Seung-Woo Kim
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
hdmi display in exynos supports hotplug event and interlace scan mode
Signed-off-by: Seung-Woo Kim
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park -
this patch adds kms poll infrastructure to handle hotplug detection event
Signed-off-by: Seung-Woo Kim
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park
14 Nov, 2011
1 commit
-
I assumed all PCI buses had a bridge, but playing with qemu recently, I
discovered vgaarb bug where it wasn't detecting both devices shared a bridge
at the root level.Don't check for NULL, if two buses have a NULL bridge, assume they share the
root bus.Acked-by: Jesse Barnes
Signed-off-by: Dave Airlie