aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-08-04agp: sis: constify pci_device_id.Arvind Yadav1-1/+1
pci_device_id are not supposed to change at runtime. All functions working with pci_device_id provided by <linux/pci.h> work with const pci_device_id. So mark the non-const structs as const. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-04agp: efficeon: constify pci_device_id.Arvind Yadav1-1/+1
pci_device_id are not supposed to change at runtime. All functions working with pci_device_id provided by <linux/pci.h> work with const pci_device_id. So mark the non-const structs as const. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-04agp: ati: constify pci_device_id.Arvind Yadav1-1/+1
pci_device_id are not supposed to change at runtime. All functions working with pci_device_id provided by <linux/pci.h> work with const pci_device_id. So mark the non-const structs as const. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-04agp: ali: constify pci_device_id.Arvind Yadav1-1/+1
pci_device_id are not supposed to change at runtime. All functions working with pci_device_id provided by <linux/pci.h> work with const pci_device_id. So mark the non-const structs as const. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-04agp: intel: constify pci_device_id.Arvind Yadav1-1/+1
pci_device_id are not supposed to change at runtime. All functions working with pci_device_id provided by <linux/pci.h> work with const pci_device_id. So mark the non-const structs as const. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-04agp: amd-k7: constify pci_device_id.Arvind Yadav1-2/+2
pci_device_id are not supposed to change at runtime. All functions working with pci_device_id provided by <linux/pci.h> work with const pci_device_id. So mark the non-const structs as const. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-04agp: uninorth: constify pci_device_id.Arvind Yadav1-1/+1
pci_device_id are not supposed to change at runtime. All functions working with pci_device_id provided by <linux/pci.h> work with const pci_device_id. So mark the non-const structs as const. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-04Merge branch 'topic-arcpgu-updates' of ↵Dave Airlie2-28/+36
https://github.com/foss-for-synopsys-dwc-arc-processors/linux into drm-next arcgpu minor updates. * 'topic-arcpgu-updates' of https://github.com/foss-for-synopsys-dwc-arc-processors/linux: drm: arcpgu: Allow some clock deviation in crtc->mode_valid() callback drm: arcpgu: Fix module unload drm: arcpgu: Fix mmap() callback arcpgu: Simplify driver name drm/arcpgu: Opt in debugfs
2017-08-04Merge tag 'drm-next-du-20170803' of git://linuxtv.org/pinchartl/media into ↵Dave Airlie29-541/+949
drm-next rcar-du updates, contains vsp1 updates as well. * tag 'drm-next-du-20170803' of git://linuxtv.org/pinchartl/media: (24 commits) drm: rcar-du: Use new iterator macros drm: rcar-du: Repair vblank for DRM page flips using the VSP drm: rcar-du: Fix race condition when disabling planes at CRTC stop drm: rcar-du: Wait for flip completion instead of vblank in commit tail drm: rcar-du: Use the VBK interrupt for vblank events drm: rcar-du: Add HDMI outputs to R8A7796 device description drm: rcar-du: Remove an unneeded NULL check drm: rcar-du: Setup planes before enabling CRTC to avoid flicker drm: rcar-du: Configure DPAD0 routing through last group on Gen3 drm: rcar-du: Restrict DPLL duty cycle workaround to H3 ES1.x drm: rcar-du: Support multiple sources from the same VSP drm: rcar-du: Fix comments to comply with the kernel coding style drm: rcar-du: Use of_graph_get_remote_endpoint() v4l: vsp1: Add support for header display lists in continuous mode v4l: vsp1: Add support for multiple DRM pipelines v4l: vsp1: Add support for multiple LIF instances v4l: vsp1: Add support for new VSP2-BS, VSP2-DL and VSP2-D instances v4l: vsp1: Add support for the BRS entity v4l: vsp1: Add pipe index argument to the VSP-DU API v4l: vsp1: Don't create links for DRM pipeline ...
2017-08-03drm/fb-helper: add new drm_setup_crtcs_fb() functionDavid Lechner1-12/+18
This adds a new drm_setup_crtcs_fb() function to handle the parts of drm_setup_crtcs() that touch fb_helper->fb and fb_helper->fbdev. When drm_setup_crtcs() is called during initialization, these fields are NULL because they have not been allocated yet. There is currently a hack at the end of drm_fb_helper_single_fb_probe() that sets fb_helper->fb, so it is moved to the new drm_setup_crtcs_fb() function. This is also done in preparation for addition setup that requires access to fb_helper->fbdev. Signed-off-by: David Lechner <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-03drm/atmel-hlcdc: switch to drm_*{get,put} helpersCihangir Akturk1-4/+4
drm_*_reference() and drm_*_unreference() functions are just compatibility alias for drm_*_get() and drm_*_put() and should not be used by new code. So convert all users of compatibility functions to use the new APIs. Signed-off-by: Cihangir Akturk <[email protected]> Acked-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-03drm/atmel-hlcdc : constify drm_plane_helper_funcs and drm_plane_funcs.Arvind Yadav1-2/+2
drm_plane_helper_funcs and drm_plane_funcsare not supposed to change at runtime. All functions working with drm_plane_helper_funcs and drm_plane_funcs work with const. So mark the non-const structs as const. File size before: text data bss dec hex filename 6072 596 0 6668 1a0c atmel_hlcdc_plane.o File size After adding 'const': text data bss dec hex filename 6218 436 0 6654 19fe atmel_hlcdc_plane.o Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/646415a3b2e62182f85254115e8491e5caf4b2c7.1499098826.git.arvind.yadav.cs@gmail.com
2017-08-03drm: rcar-du: Use new iterator macrosMaarten Lankhorst1-34/+38
for_each_obj_in_state is about to be removed, so use the correct new iterator macros. Also look at new_plane_state instead of plane->state when looking up the hw planes in use. They should be the same except when reallocating, (in which case this code is skipped) and we should really stop looking at obj->state whenever possible. Signed-off-by: Maarten Lankhorst <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2017-08-03drm: rcar-du: Repair vblank for DRM page flips using the VSPKieran Bingham9-21/+34
The driver recently switched from handling page flip completion in the DU vertical blanking handler to the VSP frame end handler to fix a race condition. This unfortunately resulted in incorrect timestamps in the vertical blanking events sent to userspace as vertical blanking is now handled after sending the event. To fix this we must reverse the order of the two operations. The easiest way is to handle vertical blanking in the VSP frame end handler before sending the event. The VSP frame end interrupt occurs approximately 50µs earlier than the DU frame end interrupt, but this should not cause any undue harm. As we need to handle vertical blanking even when page flip completion is delayed, the VSP driver now needs to call the frame end completion callback unconditionally, with a new argument to report whether page flip has completed. With this new scheme the DU vertical blanking interrupt isn't needed anymore, so we can stop enabling it. Fixes: d503a43ac06a ("drm: rcar-du: Register a completion callback with VSP1") Signed-off-by: Kieran Bingham <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Mauro Carvalho Chehab <[email protected]>
2017-08-03drm: rcar-du: Fix race condition when disabling planes at CRTC stopLaurent Pinchart2-6/+60
When stopping the CRTC the driver must disable all planes and wait for the change to take effect at the next vblank. Merely calling drm_crtc_wait_one_vblank() is not enough, as the function doesn't include any mechanism to handle the race with vblank interrupts. Replace the drm_crtc_wait_one_vblank() call with a manual mechanism that handles the vblank interrupt race. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Wait for flip completion instead of vblank in commit tailLaurent Pinchart1-1/+1
Page flips can take more than one vertical blanking to complete if arming the page flips races with the vertical blanking interrupt. Waiting for one vblank to complete the atomic commit in the commit tail handler is thus incorrect, and can lead to framebuffers being released while still being scanned out. Fix this by waiting for flip completion instead, using the drm_atomic_helper_wait_for_flip_done() helper. Fixes: 0d230422d256 ("drm: rcar-du: Register a completion callback with VSP1") Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Use the VBK interrupt for vblank eventsLaurent Pinchart1-1/+1
When implementing support for interlaced modes, the driver switched from reporting vblank events on the vertical blanking (VBK) interrupt to the frame end interrupt (FRM). This incorrectly divided the reported refresh rate by two. Fix it by moving back to the VBK interrupt. Fixes: 906eff7fcada ("drm: rcar-du: Implement support for interlaced modes") Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Add HDMI outputs to R8A7796 device descriptionLaurent Pinchart1-2/+7
Update the device description with the HDMI output. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Remove an unneeded NULL checkDan Carpenter1-1/+1
"params" can't be NULL here. The next lines assume that we either hit the break statement of "params->mpixelclock == ~0UL". The inconsistent NULL checking makes static checkers complain. I've just removed the test. Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2017-08-03drm: rcar-du: Setup planes before enabling CRTC to avoid flickerLaurent Pinchart3-29/+43
Commit 52055bafa1ff ("drm: rcar-du: Move plane commit code from CRTC start to CRTC resume") changed the order of the plane commit and CRTC enable operations to accommodate the runtime PM requirements. However, this introduced corruption in the first displayed frame, as the CRTC is now enabled without any plane configured. On Gen2 hardware the first frame will be black and likely unnoticed, but on Gen3 hardware we end up starting the display before the VSP compositor, which is more noticeable. To fix this, revert the order of the commit operations back, and handle runtime PM requirements in the CRTC .atomic_begin() and .atomic_enable() helper operation handlers. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Configure DPAD0 routing through last group on Gen3Laurent Pinchart1-6/+14
On Gen3 SoCs DPAD0 routing is configured through the last CRTC group, unlike on Gen2 where it is configured through the first CRTC group. Fix the driver accordingly. Fixes: 2427b3037710 ("drm: rcar-du: Add R8A7795 device support") Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Restrict DPLL duty cycle workaround to H3 ES1.xLaurent Pinchart1-10/+27
The H3 ES1.x exhibits dot clock duty cycle stability issues. We can work around them by configuring the DPLL to twice the desired frequency, coupled with a /2 post-divider. This isn't needed on other SoCs and breaks HDMI output on M3-W for a currently unknown reason, so restrict the workaround to H3 ES1.x. From an implementation point of view, move work around handling outside of the rcar_du_dpll_divider() function by requesting a x2 DPLL output frequency explicitly. The existing post-divider calculation mechanism will then take care of dividing the clock by two automatically. While at it, print a more useful debugging message to ease debugging clock rate issues. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Support multiple sources from the same VSPLaurent Pinchart5-33/+108
On R-Car H3 ES2.0, DU channels 0 and 3 are served by two separate pipelines from the same VSP. Support this in the DU driver. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Fix comments to comply with the kernel coding styleLaurent Pinchart8-48/+96
To avoid mixing comment styles when new comments complying with the kernel coding style are introduced, fix all multiline comments in one go. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Kieran Bingham <[email protected]>
2017-08-03drm: rcar-du: Use of_graph_get_remote_endpoint()Kuninori Morimoto1-1/+1
Now, we can use of_graph_get_remote_endpoint(). Let's use it. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2017-08-03v4l: vsp1: Add support for header display lists in continuous modeLaurent Pinchart2-69/+127
The VSP supports both header and headerless display lists. The latter is easier to use when the VSP feeds data directly to the DU in continuous mode, and the driver thus uses headerless display lists for DU operation and header display lists otherwise. Headerless display lists are only available on WPF.0. This has never been an issue so far, as only WPF.0 is connected to the DU. However, on H3 ES2.0, the VSP-DL instance has both WPF.0 and WPF.1 connected to the DU. We thus can't use headerless display lists unconditionally for DU operation. Implement support for continuous mode with header display lists, and use it for DU operation on WPF outputs that don't support headerless mode. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> Acked-by: Mauro Carvalho Chehab <[email protected]>
2017-08-03v4l: vsp1: Add support for multiple DRM pipelinesLaurent Pinchart2-94/+141
The R-Car H3 ES2.0 VSP-DL instance has two LIF entities and can drive two display pipelines at the same time. Refactor the VSP DRM code to support that by introducing a vsp_drm_pipeline object that models one display pipeline. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> Acked-by: Mauro Carvalho Chehab <[email protected]>
2017-08-03v4l: vsp1: Add support for multiple LIF instancesLaurent Pinchart7-30/+46
The VSP2-DL instance (present in the H3 ES2.0 and M3-N SoCs) has two LIF instances. Adapt the driver infrastructure to support multiple LIFs. Support for multiple display pipelines will be added separately. The change to the entity routing table removes the ability to connect the LIF output to the HGO or HGT histogram generators. This feature is only available on Gen2 hardware, isn't supported by the rest of the driver, and has no known use case, so this isn't an issue. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> Acked-by: Mauro Carvalho Chehab <[email protected]>
2017-08-03v4l: vsp1: Add support for new VSP2-BS, VSP2-DL and VSP2-D instancesLaurent Pinchart2-2/+37
New Gen3 SoCs come with two new VSP2 variants names VSP2-BS and VSP2-DL, as well as a new VSP2-D variant on V3M and V3H SoCs. Add new entries for them in the VSP device info table. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> Acked-by: Mauro Carvalho Chehab <[email protected]>
2017-08-03drm/fb: Fix pointer dereference before null check.David Lechner1-1/+1
fb_crtc is used before a null check, so move the use after the null check. This was just identified by inspection. I haven't actually observed a crash here, so it is possible that the null check could be unnecessary. Signed-off-by: David Lechner <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-03drm: arcpgu: Allow some clock deviation in crtc->mode_valid() callbackJose Abreu1-3/+4
Currently we expect that clock driver produces the exact same value as we are requiring. There can, and will, be some deviation however so we need to take that into account instead of just rejecting the mode. According to the HDMI spec we have a max of +-0.5% for the pixel clock frequency deviation. Lets take that into an advantage and use it to calculate how much deviation we can support. Signed-off-by: Jose Abreu <[email protected]> Acked-by: Alexey Brodkin <[email protected]> Cc: Carlos Palminha <[email protected]> Cc: Alexey Brodkin <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Dave Airlie <[email protected]> Signed-off-by: Alexey Brodkin <[email protected]>
2017-08-03drm: arcpgu: Fix module unloadJose Abreu1-1/+1
At module unload we are expecting a struct drm_device but at probing we are not setting it right. Fix this and correct the arcpgu module unload. Signed-off-by: Jose Abreu <[email protected]> Fixes: 0c4250e7b15e ("drm: Add support of ARC PGU display controller") Cc: Carlos Palminha <[email protected]> Cc: Alexey Brodkin <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Dave Airlie <[email protected]> Signed-off-by: Alexey Brodkin <[email protected]>
2017-08-03drm: arcpgu: Fix mmap() callbackJose Abreu1-23/+1
Now that ARC properly supports DMA mmap() we can use the standard CMA helper to map dumb buffers. This makes ARC PGU works with standard DRM consumer applications like, for example, mpv/mplayer via DRM. While at it, use the DEFINE_DRM_GEM_CMA_FOPS() helper. This fixes the use of dumb buffers. Signed-off-by: Jose Abreu <[email protected]> Fixes: 0c4250e7b15e ("drm: Add support of ARC PGU display controller") Cc: Carlos Palminha <[email protected]> Cc: Alexey Brodkin <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Dave Airlie <[email protected]> Signed-off-by: Alexey Brodkin <[email protected]>
2017-08-03arcpgu: Simplify driver nameAlexey Brodkin1-1/+1
This very minor change is still useful because it aligns ARC PGU driver name with other DRM drivers and makes usage of that driver name a bit easier. For example in libdrm's test app we'll use "arcpgu" instead of a bit more ugly "drm-arcpgu". Signed-off-by: Alexey Brodkin <[email protected]> Cc: Daniel Vetter <[email protected]>
2017-08-03drm/arcpgu: Opt in debugfsAlexey Brodkin1-0/+29
This change adopts debugfs usage for outputting useful data. As of today we print: * Mode and real HW clock values * Standard FB info Code is heavily borrowed from ARM's HDLCD thus adding Liviu in Cc. Signed-off-by: Alexey Brodkin <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: David Airlie <[email protected]> Cc: Jose Abreu <[email protected]>
2017-08-02Merge branch 'drm-next-4.14' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie110-1761/+4318
into drm-next - Stop reprogramming the MC, the vbios already does this in asic_init - Reduce internal gart to 256M (this does not affect the ttm GTT pool size) - Initial support for huge pages - Rework bo migration logic - Lots of improvements for vega10 - Powerplay fixes - Additional Raven enablement - SR-IOV improvements - Bug fixes - Code cleanup * 'drm-next-4.14' of git://people.freedesktop.org/~agd5f/linux: (138 commits) drm/amdgpu: fix header on gfx9 clear state drm/amdgpu: reduce the time of reading VBIOS drm/amdgpu/virtual_dce: Remove the rmmod error message drm/amdgpu/gmc9: disable legacy vga features in gmc init drm/amdgpu/gmc8: disable legacy vga features in gmc init drm/amdgpu/gmc7: disable legacy vga features in gmc init drm/amdgpu/gmc6: disable legacy vga features in gmc init (v2) drm/radeon: Set depth on low mem to 16 bpp instead of 8 bpp drm/amdgpu: fix the incorrect scratch reg number on gfx v6 drm/amdgpu: fix the incorrect scratch reg number on gfx v7 drm/amdgpu: fix the incorrect scratch reg number on gfx v8 drm/amdgpu: fix the incorrect scratch reg number on gfx v9 drm/amd/powerplay: add support for 3DP 4K@120Hz on vega10. drm/amdgpu: enable huge page handling in the VM v5 drm/amdgpu: increase fragmentation size for Vega10 v2 drm/amdgpu: ttm_bind only when user needs gpu_addr in bo pin drm/amdgpu: correct clock info for SRIOV drm/amdgpu/gmc8: SRIOV need to program fb location drm/amdgpu: disable firmware loading for psp v10 drm/amdgpu:fix gfx fence allocate size ...
2017-08-02drm/ast: Actually load DP501 firmware when requiredEgbert Eich3-11/+18
The ast driver has a code to load the DP501 firmware, but it's never used. This patch implements its actual usage by requesting the firmware on demand, and release the firmware at exit as well. Also the path contains a few cleanups and makes relevant functions static. Signed-off-by: Egbert Eich <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-02drm/ast: Add an crtc_disable callback to the crtc helper funcsEgbert Eich1-0/+16
Implement the proper CRTC disablement, just like done in mgag200 driver. Signed-off-by: Egbert Eich <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-02drm/ast: Fix memleak in error path in ast_bo_create()Egbert Eich1-5/+6
The allocated struct ast_bo was not freed in all error paths. This patch consolidates error handling and fixes this. Signed-off-by: Egbert Eich <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-02drm/ast: Free container instead of member in ast_user_framebuffer_destroy()Egbert Eich1-1/+1
Technically freeing ast_fb->base is the same as freeing ast_fb as 'base' the first member of the data structure. Still this makes it cleaner. Signed-off-by: Egbert Eich <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-02drm/ast: Simplify function ast_bo_unpin()Egbert Eich1-6/+2
Just a code refactoring, no functional change. Signed-off-by: Egbert Eich <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2017-08-01drm: Create a format/modifier blobBen Widawsky4-0/+147
Updated blob layout (Rob, Daniel, Kristian, xerpi) v2: * Removed __packed, and alignment (.+) * Fix indent in drm_format_modifier fields (Liviu) * Remove duplicated modifier > 64 check (Liviu) * Change comment about modifier (Liviu) * Remove arguments to blob creation, use plane instead (Liviu) * Fix data types (Ben) * Make the blob part of uapi (Daniel) v3: Remove unused ret field. Change i, and j to unsigned int (Emil) v4: Use plane->modifier_count instead of recounting (Daniel) v5: Rename modifiers to modifiers_property (Ville) Use sizeof(__u32) instead to reflect UAPI nature (Ville) Make BUILD_BUG_ON for blob header size Cc: Rob Clark <[email protected]> Cc: Kristian H. Kristensen <[email protected]> Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (v2) Reviewed-by: Liviu Dudau <[email protected]> (v2) Reviewed-by: Emil Velikov <[email protected]> (v3) Signed-off-by: Daniel Stone <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-01drm: Plumb modifiers through plane initBen Widawsky45-50/+131
This is the plumbing for supporting fb modifiers on planes. Modifiers have already been introduced to some extent, but this series will extend this to allow querying modifiers per plane. Based on this, the client to enable optimal modifications for framebuffers. This patch simply allows the DRM drivers to initialize their list of supported modifiers upon initializing the plane. v2: A minor addition from Daniel v3: * Updated commit message * s/INVALID/DRM_FORMAT_MOD_INVALID (Liviu) * Remove some excess newlines (Liviu) * Update comment for > 64 modifiers (Liviu) v4: Minor comment adjustments (Liviu) v5: Some new platforms added due to rebase v6: Add some missed plane inits (or maybe they're new - who knows at this point) (Daniel) Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (v2) Reviewed-by: Liviu Dudau <[email protected]> Signed-off-by: Daniel Stone <[email protected]>
2017-08-01drm/msm: Convert to use new iterator macros, v2.Maarten Lankhorst2-11/+11
for_each_obj_in_state is about to be removed, so convert to the new iterator macros. Just like in omap, use crtc_state->active instead of crtc_state->enable when waiting for completion. Changes since v1: - Fix compilation. Signed-off-by: Maarten Lankhorst <[email protected]> Cc: Rob Clark <[email protected]> Cc: Archit Taneja <[email protected]> Cc: Vincent Abriou <[email protected]> Cc: Maarten Lankhorst <[email protected]> Cc: Russell King <[email protected]> Cc: Rob Herring <[email protected]> Cc: Markus Elfring <[email protected]> Cc: Sushmita Susheelendra <[email protected]> Cc: [email protected] Cc: [email protected] Reviewed-by: Daniel Vetter <[email protected]> Tested-by: Archit Taneja <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-01drm/nouveau: Convert nouveau to use new iterator macros, v2.Maarten Lankhorst1-35/+37
Use the new atomic iterator macros, the old ones are about to be removed. With the new macros, it's more easy to get old and new state so get them from the macros instead of from obj->state. Changes since v1: - Don't mix up old and new state. (danvet) - Rebase on top of interruptible swap_state changes. Signed-off-by: Maarten Lankhorst <[email protected]> Cc: Ben Skeggs <[email protected]> Cc: [email protected] Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Daniel Vetter <[email protected]>
2017-08-01drm/omapdrm: Fix omap_atomic_wait_for_completionMaarten Lankhorst1-3/+3
Use the new iterator macro and look for crtc_state->active instead of enable, only crtc_state->active implies that vblanks will happen. Signed-off-by: Maarten Lankhorst <[email protected]> Cc: Tomi Valkeinen <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-08-01drm/atomic: Use new iterator macros in drm_atomic_helper_wait_for_flip_done, ↵Maarten Lankhorst1-1/+1
again. for_each_obj_in_state is about to be removed, so use the correct new iterator macro. I renamed the variable to 'unused', but forgot to convert drm_atomic_helper_wait_for_flip_done to the new iterator macro, so make it work this time. Signed-off-by: Maarten Lankhorst <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Jani Nikula <[email protected]> Cc: Sean Paul <[email protected]> Cc: David Airlie <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Daniel Vetter <[email protected]>
2017-07-31dma-buf/sw_sync: clean up list before signaling the fenceGustavo Padovan1-1/+11
If userspace already dropped its own reference by closing the sw_sync fence fd we might end up in a deadlock where dma_fence_is_signaled_locked() will trigger the release of the fence and thus try to hold the lock to remove the fence from the list. dma_fence_is_signaled_locked() tries to release/free the fence and hold the lock in the process. We fix that by changing the order operation and clean up the list and rb-tree first. v2: Drop fence get/put dance and manipulate the list first (Chris Wilson) Cc: Chris Wilson <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-07-31dma-buf/sw_sync: move timeline_fence_ops aroundGustavo Padovan1-69/+69
We are going to use timeline_fence_signaled() in a internal function in the next commit. Cc: Chris Wilson <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2017-07-31drm: todo: Avoid accidental crossreferencesThierry Reding1-2/+2
RST uses underscores at the end of words to create crossreferences and it will accidentally try to link to tinydrm_ and drm_fb_ targets from the TODO, which is clearly not the intention in this context. Use backslashes to escape the special meaning of the underscore. Reviewed-by: Daniel Vetter <[email protected]> Signed-off-by: Thierry Reding <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]