summaryrefslogtreecommitdiff
path: root/drivers/gpu (follow)
Commit message (Collapse)AuthorAge
...
* | | | | | | | Merge "drm/msm: add default value for plane enum property"Linux Build Service Account2017-07-06
|\ \ \ \ \ \ \ \
| * | | | | | | | drm/msm: add default value for plane enum propertyJin Li2017-06-30
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add default value support for plane enum property which caller is able to pass in different default value when initialize the enum property list. Change-Id: I57595bf7c42b0e528a18ab0951655a169b00d611 Signed-off-by: Jin Li <jinl@codeaurora.org> Signed-off-by: Yunyun Cao <yunyunc@codeaurora.org>
* | | | | | | | Merge "drm/msm: Add timestamp counter"Linux Build Service Account2017-07-05
|\ \ \ \ \ \ \ \
| * | | | | | | | drm/msm: Add timestamp counterJordan Crouse2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the confusion of adding the perfcounter API the timestamp query was broken. Convert the query over to the perfcounter API to avoid confusion. Change-Id: Ic0dedbad590489a643e8aa6d678bf19f732c06dd Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | | | | | | | drm/msm: Remove next_fenceJordan Crouse2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The next_fence array is left over from when we started storing per-ring information. Change-Id: Ic0dedbada687f899eca1017ecfd77fbd2aa8e114 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | | | | | | | drm/msm: Move hangcheck fence to ringbufferJordan Crouse2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hangcheck_fence was missed when all the ring specific members were moved out of the gpu struct. Change-Id: Ic0dedbad00a86d6657bc2a3e0e5bbdc5eae21ae6 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | | | | | | | drm/msm: Remove adreno_last_fenceJordan Crouse2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | adreno_last_fence is no longer very useful since we have a handy per-ring pointer directly to the values we need. Change-Id: Ic0dedbadfb195551afcd016651776965da32fb2d Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | | | | | | | drm/msm: Change the priority order of the ringbuffersJordan Crouse2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we first did preemption the priority was set at submission time. In order to be properly backwards compatible we made ring id 0 the lowest priority ring so that when a legacy app made a submission it didn't get itself onto the highest priority ring by accident. Now that we set the priority with submitqueues this is no longer a concern and ordering priorities this way goes against long standing convention in similar GPU drivers. Declare a flag day and invert the priority algorithm so that priority '0' is the highest priority and it descends from there. The lowest prority ring is 'number of rings - 1' where the number of active rings can be acquired through a parameter query of MSM_PARAM_NR_RINGS. This change also ensures that the legacy submitqueue id '0' will use the next-to-lowest ring buffer by default for legacy submissions. Change-Id: Ic0dedbadeea522e4f07babc4395cbf5fb7143fe3 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | | | | Merge "msm: kgsl: Add A5XX RBBM registers to pre-crash dumper list"Linux Build Service Account2017-07-05
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | msm: kgsl: Add A5XX RBBM registers to pre-crash dumper listRajesh Kemisetti2017-06-28
| | |_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add all A5XX RBBM status registers to pre-crash dumper registers list so that snapshot captures the accurate state of the individual blocks. Change-Id: I774b84f3cb69b7b0aa119e87229d9ec9c96bbbb4 Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
* | | | | | | | | Merge "msm: kgsl: Add a NULL check for limit pointer"Linux Build Service Account2017-07-05
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | | |
| * | | | | | | | msm: kgsl: Add a NULL check for limit pointerHareesh Gundu2017-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KGSL power limit pointer can be error or NULL. Add a NULL check for limit pointer to avoid NULL pointer dereference. Change-Id: I4aacaddd1cd9b34f1befc21807eb7ab577f0a7f1 Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
* | | | | | | | | Merge "drm/msm: add support for parsing YUV 420 deep color"Linux Build Service Account2017-07-04
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | drm/msm: add support for parsing YUV 420 deep colorAbhinav Kumar2017-06-30
| | |_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current upstream parser only handles RGB deep color modes. Add support in the SDE EDID parser module to parse HDMI VSDB block and indicate support for YUV 420 deep color modes in the sink. Change-Id: If6c007263094e7716a29cae503d3e3471ae04306 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | | Merge "drm/msm/sde: remove extra entries from interrupt table"Linux Build Service Account2017-07-04
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | drm/msm/sde: remove extra entries from interrupt tableAlan Kwong2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Four extra reserved entries are allocated in 88-91. These entries do not affect lookup logics but are conflicting with index listed in the documentation. Remove these extra reserved entries to match index with documentation. Change-Id: Id9e3a35e9bee9d13b479d7ef65dca1912ea1ff80 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | | | | | | | drm/msm/sde: correct index lookup for interrupt clear registerAlan Kwong2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Interrupt get status function incorrectly uses interrupt index to lookup clear register offset. Correct get status function to use register index instead to lookup up interrupt offset register. CRs-Fixed: 2053107 Change-Id: I0c298e0b2b2cbc19758ff84be35ba2d2ce52aeb3 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | | | | | | | drm/msm/sde: correct out of bound access in catalogAlan Kwong2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correct validate function to use proper size clearing property count array. Correct copy format function to check bound before accessing array element. CRs-Fixed: 2037027 Change-Id: Ied3a8e91eb4e6c2c19632b8f83b35d94d1773bb1 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | | | | | | | drm/msm: add proper termination to device match arrayAlan Kwong2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device match array should be terminated with a null entry. Add this null entry to mdp version check to avoid check past end of array. CRs-Fixed: 2037027 Change-Id: Ib313fad468205e94eace94eee9db56f19f61ab0c Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | | | | | | | drm/msm/sde: use current encoders to determine crtc interfaceAlan Kwong2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using the cached interface type, which is updated during fence preparation time, determine interface type by enumerating over all matching encoders and query the interface directly. This avoids pontential stale interface types due to changing connector state. CRs-Fixed: 2009714 Change-Id: I31e1350cc62cafb5f014c0f32514d0692dec42d0 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | | | | | | | drm/msm/sde: add support for a5x tile pixel formatsAlan Kwong2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new modifier for a5x tile and support for a5x tile pixel format layout calculation. CRs-Fixed: 2009714 Change-Id: If0d1d6ba8d8d3e36dd5d5aef4a9b217d8e5779ba Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | | | | | | | drm/msm/sde: move cdm csc setup to writeback commitAlan Kwong2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CDM CSC is currently only initialized during power up. But on power collapse, CSC will be reset and produce incorrect YUV writeback output. Correct this by moving CSC setup to writeback commit to ensure CSC is always up-to-date. Change-Id: Iac004316c32040f83ef582aae83b02e1288514b1 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | | | | | | | drm/msm/sde: correct clamp shift for csc 10Alan Kwong2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clamp shift for csc 10 is 16 bit where csc 8 is 8 bit. Correct csc to apply proper clamp shift based on csc version. Change-Id: I34d30127384668f4cb222a6e634e6581c0054805 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
* | | | | | | | | | Merge "drm/msm: Add a parameter query for the number of ringbuffers"Linux Build Service Account2017-07-04
|\ \ \ \ \ \ \ \ \ \ | | |_|_|_|/ / / / / | |/| | | | | | | |
| * | | | | | | | | drm/msm: Add a parameter query for the number of ringbuffersJordan Crouse2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to manage ringbuffer priority to its fullest userspace should know how many ringbuffers it has to work with. Add a parameter to return the number of active rings. Change-Id: Ic0dedbada6010dd5122e8409141fd23b414d73e4 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | | | | | | | | drm/msm: Change the profiling structureJordan Crouse2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the queued time from the profile struct and turn the submit time into a proper timespec (tv_sec + tv_nsec). This should sync up better with what userspace is used to seeing. Change-Id: Ic0dedbad0621fa248e6cffde2d1ee3f9b609e19d Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | | | | | Merge "drm/msm: Add kernel side submit profiling and tracing"Linux Build Service Account2017-07-04
|\| | | | | | | | | | |_|_|/ / / / / / |/| | | | | | | |
| * | | | | | | | drm/msm: Add kernel side submit profiling and tracingJordan Crouse2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Record the GPU always on timer value at the start and end of a submission on the ringbuffer. Since the timer runs at a constant 19.2 Mhz this is a handy way of tracking how long each submission takes. The timer values are recorded in the memptrs. Each ringbuffer is given a circular list of 128 entries to store the event ticks; this should be enough to avoid running out of room even when the ring is completely full of submissions. Add trace events for the user to track when submissions are queued, submitted to the ringbuffer and retired. The submitted trace point shows the GPU ticks and the current kernel time at submit time (as read by the CPU) and the retired trace event shows the GPU ticks at submission start/end as read by the GPU. Taken together these two events can provide a pretty close match between the current GPU time and the kernel time which is handy for tracing tools that try to match up the various kernel events with one another. Change-Id: Ic0dedbadbcf89f032890820785b9fb49a6362b01 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | | | | Merge "Merge branch 'android-4.4@77ddb50' (v4.4.74) into 'msm-4.4'"Linux Build Service Account2017-07-03
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | / / / / | | |_|_|/ / / / | |/| | | | | |
| * | | | | | | Merge branch 'android-4.4@77ddb50' (v4.4.74) into 'msm-4.4'Blagovest Kolenichev2017-06-28
| |\ \ \ \ \ \ \ | | | |_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-77ddb50: UPSTREAM: usb: gadget: f_fs: avoid out of bounds access on comp_desc Linux 4.4.74 mm: fix new crash in unmapped_area_topdown() Allow stack to grow up to address space limit mm: larger stack guard gap, between vmas alarmtimer: Rate limit periodic intervals MIPS: Fix bnezc/jialc return address calculation usb: dwc3: exynos fix axius clock error path to do cleanup alarmtimer: Prevent overflow of relative timers genirq: Release resources in __setup_irq() error path swap: cond_resched in swap_cgroup_prepare() mm/memory-failure.c: use compound_head() flags for huge pages USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR() usb: r8a66597-hcd: decrease timeout usb: r8a66597-hcd: select a different endpoint on timeout USB: gadget: dummy_hcd: fix hub-descriptor removable fields pvrusb2: reduce stack usage pvr2_eeprom_analyze() usb: core: fix potential memory leak in error path during hcd creation USB: hub: fix SS max number of ports iio: proximity: as3935: recalibrate RCO after resume staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data() mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init() serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' mac80211: fix IBSS presp allocation size mac80211: fix CSA in IBSS mode mac80211/wpa: use constant time memory comparison for MACs mac80211: don't look at the PM bit of BAR frames vb2: Fix an off by one error in 'vb2_plane_vaddr' cpufreq: conservative: Allow down_threshold to take values from 1 to 10 can: gs_usb: fix memory leak in gs_cmd_reset() configfs: Fix race between create_link and configfs_rmdir UPSTREAM: bpf: don't let ldimm64 leak map addresses on unprivileged BACKPORT: ext4: fix data exposure after a crash ANDROID: sdcardfs: remove dead function open_flags_to_access_mode() ANDROID: android-base.cfg: split out arm64-specific configs Linux 4.4.73 sparc64: make string buffers large enough s390/kvm: do not rely on the ILC on kvm host protection fauls xtensa: don't use linux IRQ #0 tipc: ignore requests when the connection state is not CONNECTED proc: add a schedule point in proc_pid_readdir() romfs: use different way to generate fsid for BLOCK or MTD sctp: sctp_addr_id2transport should verify the addr before looking up assoc r8152: avoid start_xmit to schedule napi when napi is disabled r8152: fix rtl8152_post_reset function r8152: re-schedule napi for tx nfs: Fix "Don't increment lock sequence ID after NFS4ERR_MOVED" ravb: unmap descriptors when freeing rings drm/ast: Fixed system hanged if disable P2A drm/nouveau: Don't enabling polling twice on runtime resume parisc, parport_gsc: Fixes for printk continuation lines net: adaptec: starfire: add checks for dma mapping errors pinctrl: berlin-bg4ct: fix the value for "sd1a" of pin SCRD0_CRD_PRES gianfar: synchronize DMA API usage by free_skb_rx_queue w/ gfar_new_page net/mlx4_core: Avoid command timeouts during VF driver device shutdown drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers drm/nouveau: prevent userspace from deleting client object ipv6: fix flow labels when the traffic class is non-0 FS-Cache: Initialise stores_lock in netfs cookie fscache: Clear outstanding writes when disabling a cookie fscache: Fix dead object requeue ethtool: do not vzalloc(0) on registers dump log2: make order_base_2() behave correctly on const input value zero kasan: respect /proc/sys/kernel/traceoff_on_warning jump label: pass kbuild_cflags when checking for asm goto support PM / runtime: Avoid false-positive warnings from might_sleep_if() ipv6: Fix IPv6 packet loss in scenarios involving roaming + snooping switches i2c: piix4: Fix request_region size sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications sierra_net: Skip validating irrelevant fields for IDLE LSIs net: hns: Fix the device being used for dma mapping during TX NET: mkiss: Fix panic NET: Fix /proc/net/arp for AX.25 ipv6: Inhibit IPv4-mapped src address on the wire. ipv6: Handle IPv4-mapped src to in6addr_any dst. net: xilinx_emaclite: fix receive buffer overflow net: xilinx_emaclite: fix freezes due to unordered I/O Call echo service immediately after socket reconnect staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory. ARM: dts: imx6dl: Fix the VDD_ARM_CAP voltage for 396MHz operation partitions/msdos: FreeBSD UFS2 file systems are not recognized s390/vmem: fix identity mapping usb: gadget: f_fs: Fix possibe deadlock Conflicts: drivers/usb/gadget/function/f_fs.c Change-Id: I23106e9fc2c4f2d0b06acce59b781f6c36487fcc Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
| | * | | | | | drm/ast: Fixed system hanged if disable P2AY.C. Chen2017-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit 6c971c09f38704513c426ba6515f22fb3d6c87d5 ] The original ast driver will access some BMC configuration through P2A bridge that can be disabled since AST2300 and after. It will cause system hanged if P2A bridge is disabled. Here is the update to fix it. Signed-off-by: Y.C. Chen <yc_chen@aspeedtech.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | | | | | drm/nouveau: Don't enabling polling twice on runtime resumeLyude Paul2017-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit cae9ff036eea577856d5b12860b4c79c5e71db4a ] As it turns out, on cards that actually have CRTCs on them we're already calling drm_kms_helper_poll_enable(drm_dev) from nouveau_display_resume() before we call it in nouveau_pmops_runtime_resume(). This leads us to accidentally trying to enable polling twice, which results in a potential deadlock between the RPM locks and drm_dev->mode_config.mutex if we end up trying to enable polling the second time while output_poll_execute is running and holding the mode_config lock. As such, make sure we only enable polling in nouveau_pmops_runtime_resume() if we need to. This fixes hangs observed on the ThinkPad W541 Signed-off-by: Lyude <lyude@redhat.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Kilian Singer <kilian.singer@quantumtechnology.info> Cc: Lukas Wunner <lukas@wunner.de> Cc: David Airlie <airlied@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | | | | | drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffersBen Skeggs2017-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit 96692b097ba76d0c637ae8af47b29c73da33c9d0 ] Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | | | | | drm/nouveau: prevent userspace from deleting client objectBen Skeggs2017-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit c966b6279f610a24ac1d42dcbe30e10fa61220b2 ] Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | | | | | | Merge "msm: kgsl: Limit the frequency of logging on memory allocation failure"Linux Build Service Account2017-07-02
|\ \ \ \ \ \ \ \
| * | | | | | | | msm: kgsl: Limit the frequency of logging on memory allocation failureDeepak Kumar2017-06-30
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Excessive logging due to several successive memory allocation failure may cause a watchdog bite. Hence, this change adds ratelimit to logging on memory allocation failure. Change-Id: I8e5d78918a32c48ef7fa587f3dc63cbd1f065d5f Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
* | | | | | | | Merge "msm: kgsl: Directly return page size of the supported pool"Linux Build Service Account2017-07-02
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | msm: kgsl: Directly return page size of the supported poolDeepak Kumar2017-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In current code, if a request comes to allocate a page of a size for which pool is not supported EAGAIN is returned with a page size of PAGE_SIZE << --order. This is not efficient as it results in multiple retries in case pool of size = PAGE_SIZE << --order is also not supported. Instead of retrying with lower order page in a sequential manner this change directly returns the page size of the pool that is supported. Change-Id: Ib82ae5be7e4109fdc0a3d72bcbcd4b47cfb2e266 Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
* | | | | | | | Merge "drm/msm/sde: add kernel traces to measure enable/disable/kickoff times"Linux Build Service Account2017-06-28
|\ \ \ \ \ \ \ \
| * | | | | | | | drm/msm/sde: add kernel traces to measure enable/disable/kickoff timesNarendra Muppalla2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add kernel debug traces in drm to measure the performance of the driver during enable/disable/commit/kickoff. Change-Id: I7122e81b2c320f05bb42091971827908b7c6436f Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
* | | | | | | | | Merge "drm/msm: program hdr information to HDMI registers"Linux Build Service Account2017-06-28
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | drm/msm: program hdr information to HDMI registersAbhinav Kumar2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HDR metadata information is passed down from userspace based on the HDR frame. Program these properties to relevant HDMI registers using the pre_kickoff callback registered for the DRM HDMI connector. This ensures that HDR information is updated on a per-frame basis to the sink. Change-Id: I20c4018316329b1b35a11b8ab4b96e923b3abb3a Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | | | Merge "drm/msm/sde: add sde_connector kickoff callbacks"Linux Build Service Account2017-06-28
|\| | | | | | | | | | |_|_|_|_|_|/ / / |/| | | | | | | |
| * | | | | | | | drm/msm/sde: add sde_connector kickoff callbacksAbhinav Kumar2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a callback into the connector framework to allow sending per-frame parameters at kickoff time. This is needed to support the HDR feature where the HDR metadata shall be sent to the sink on a per-frame basis. Change-Id: I48a3616509e2226ea9bf0f490f0f47873ca74781 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | | Merge "drm/msm: pass the HDR metadata sent from userspace to sink"Linux Build Service Account2017-06-27
|\| | | | | | | | | |_|_|/ / / / / |/| | | | | | |
| * | | | | | | drm/msm: pass the HDR metadata sent from userspace to sinkAbhinav Kumar2017-06-27
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use metadata information sent from userspace to configure sink. This info shall be used later on to program the HDMI specific infoframe registers. Change-Id: I26634452d8c3ab7ab49a65e89ad52a3961c64855 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | Merge "drm/msm/sde: fix color component order in sde"Linux Build Service Account2017-06-27
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | / / / | | |_|/ / / | |/| | | |
| * | | | | drm/msm/sde: fix color component order in sdeDhaval Patel2017-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SDE drm driver should support the default color component order instead of operating system specific order. For opensource compositor; it will use default color component order while android compositors will take care of reversing the color component order. Change-Id: I61b953ce892834453e92a8c2cfdcb427456966bb Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | | | | | Merge "drm/msm/sde: expose 10 bit pixel format capabilities"Linux Build Service Account2017-06-27
|\| | | | |
| * | | | | drm/msm/sde: expose 10 bit pixel format capabilitiesabeykun2017-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch adds RGB 10bit both linear and compressed, P010 linear and and TP10 compressed pixel formats to plane and writeback capabilities. Change-Id: Ib5a0b2dacbc1ddc47c069b4348c0d1b9fbd7701e Signed-off-by: Alexander Beykun <abeykun@codeaurora.org>