[Bug 46711] Monitor not turning on after DisplayPort re-plug in Xorg
https://bugs.freedesktop.org/show_bug.cgi?id=46711 --- Comment #21 from Branen Salmon --- After some digging, the only differences I've been able to find between the re-plug behavior under X (where the encoder sends no signal although the driver thinks DPMS is ON), and the re-plug behavior under an fbdev (where the signal returns after re-plug, as expected) are the following: 1. When the monitor is re-plugged and radeon_connector_hotplug is called, connector->dpms is OFF in the fbdev case, but it's ON in the X case. This means that radeon_connector_hotplug returns immediately when the monitor is re-plugged under fbdev, and that the code in radeon_connector_hotplug is not what's turning the encoder back on. 2. In the fbdev case, there are redundant calls to radeon_atom_encoder_dpms. When unplugging, it's called six times with on=false, and when re-plugging, it's called thrice, with on=false, on=true, and on=true. In the X case, it's called only once per unplug/re-plug, with on=false and on=true, respectively. 3. In the fbdev case, drm_crtc_helper_set_config is called on re-plug, and it calls some other functions, including radeon_encoder_set_active_device and drm_crtc_helper_set_mode. (I realize that this may be a red herring, but figure I should include it so that expert eyes may judge.) drm_crtc_helper_set_config isn't called at all in the X case. 4. Forcing DPMS off with xset results in one call to radeon_atom_encoder_dpms. Forcing DPMS on with xset results in one call to radeon_atom_encoder_dpms and one (I think?) call to drm_crtc_helper_set_config. (I'm not counting calls to encoders and connectors not connected to my monitor, even though fbdev likes to traverse them all anytime something changes.) It seems that drm_crtc_helper_set_config is doing something with the encoder that radeon_connector_hotplug is not doing. This is my first time digging into video code, so I have no idea what that might be. I'm going to take a break from working on this for now, but will come back to it if no one else beats me to it. :) -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/eb96f76e/attachment.html>
[Bug 88227] Radeonsi: High GTT usage in Prison Architect large map
https://bugs.freedesktop.org/show_bug.cgi?id=88227 --- Comment #8 from James Harvey --- Created attachment 112085 --> https://bugs.freedesktop.org/attachment.cgi?id=112085&action=edit large map prior to commit 150ac07b Bisect complete: 150ac07b855b5c5f879bf6ce9ca421ccd1a6c938 is the first bad commit commit 150ac07b855b5c5f879bf6ce9ca421ccd1a6c938 Author: Michel Dänzer Date: Wed Jun 25 18:36:43 2014 +0900 r600g/radeonsi: Prefer VRAM for CPU -> GPU streaming buffers Reviewed-by: Marek Olšák Prior to this commit, there is a slight fps drop (60->24) while moving around the map for the first time, but thereafter it stays at roughly 60fps. -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/db639f2c/attachment.html>
[BUG] 3.19-rc3+ - mm: prevent endless growth of anon_vma hierarchy
Hello, Today I took latest branch from Linus repo to check for amdkfd regressions due to my fixes pulled for 3.19-rc4, and I got a kernel bug (see below dmesg output). I did a bisect and the first bad commit is: 7a3ef208e662f4b63d43a23f61a64a129c525bbc is the first bad commit commit 7a3ef208e662f4b63d43a23f61a64a129c525bbc Author: Konstantin Khlebnikov Date: Thu Jan 8 14:32:15 2015 -0800 mm: prevent endless growth of anon_vma hierarchy The bug is before the pull of latest amdkfd fixes, so it is not related to my pull request. From the bisect log (end of email), you can see 3.19-rc3 is fine. The problem occurred while running java over HSA. The Kernel is 64-bit and userspace processes are 64-bit as well. CPU is AMD Kaveri (A10-7850). OpenCL/OpenMP over HSA run without problems. dmesg output: [ 266.491864] [ cut here ] [ 266.491904] kernel BUG at mm/rmap.c:399! [ 266.491934] invalid opcode: [#1] SMP [ 266.491962] Modules linked in: amdkfd amd_iommu_v2 radeon cfbfillrect cfbimgblt cfbcopyarea drm_kms_helper ttm fuse [ 266.492043] CPU: 3 PID: 5155 Comm: java Not tainted 3.19.0-rc3-kfd+ #24 [ 266.492087] Hardware name: AMD BALLINA/Ballina, BIOS WBL3B20N_Weekly_13_11_2 11/20/2013 [ 266.492141] task: 8800a3b3c840 ti: 8800916f8000 task.ti: 8800916f8000 [ 266.492191] RIP: 0010:[] [] unlink_anon_vmas+0x102/0x159 [ 266.492249] RSP: 0018:8800916fbb68 EFLAGS: 00010286 [ 266.492285] RAX: 88008f6b3ba0 RBX: 88008f6b3b90 RCX: 8800a3b3cf30 [ 266.492331] RDX: 8800914b3c98 RSI: 0001 RDI: 8800914b3c98 [ 266.492376] RBP: 8800916fbba8 R08: 0002 R09: [ 266.492421] R10: 0008 R11: 0001 R12: 88008f686068 [ 266.492465] R13: 8800914b3c98 R14: 88008f6b3b90 R15: 88008f686000 [ 266.492513] FS: 7fb8966f6700() GS:88011ed8() knlGS: [ 266.492566] CS: 0010 DS: ES: CR0: 80050033 [ 266.492601] CR2: 7f50fa190770 CR3: 01b31000 CR4: 000407e0 [ 266.492652] Stack: [ 266.492665] 88008f686078 8800916fbba8 88008f686000 [ 266.492714] 8800916fbc08 88008f686000 [ 266.492764] 8800916fbbf8 8111ba5d 7fb885918000 88008edf3000 [ 266.492815] Call Trace: [ 266.492834] [] free_pgtables+0x8e/0xcc [ 266.492873] [] exit_mmap+0x84/0x116 [ 266.492907] [] mmput+0x52/0xe9 [ 266.492940] [] do_exit+0x3cd/0x9c9 [ 266.492975] [] ? _raw_spin_unlock_irq+0x2d/0x32 [ 266.493016] [] do_group_exit+0x4c/0xc9 [ 266.493051] [] get_signal+0x58f/0x5bc [ 266.493090] [] do_signal+0x28/0x5b1 [ 266.493123] [] ? sysret_signal+0x5/0x43 [ 266.493162] [] do_notify_resume+0x35/0x68 [ 266.493200] [] int_signal+0x12/0x17 [ 266.493235] Code: e8 03 b7 f4 ff 49 8b 47 78 4c 8b 20 48 8d 58 f0 49 83 ec 10 48 8d 43 10 48 39 45 c8 74 55 48 8b 7b 08 83 bf 8c 00 00 00 00 74 02 <0f> 0b e8 a4 fd ff ff 48 8b 43 18 48 8b 53 10 48 89 df 48 89 42 [ 266.493404] RIP [] unlink_anon_vmas+0x102/0x159 [ 266.493447] RSP [ 266.508877] ---[ end trace 02d28fe9b3de2e1a ]--- [ 266.508880] Fixing recursive fault but reboot is needed! git bisect log: git bisect start # bad: [a4ad89a46882b91b7df9cfb83dd21c06b8065c30] fix to qcom eth ctrl git bisect bad a4ad89a46882b91b7df9cfb83dd21c06b8065c30 # good: [b1940cd21c0f4abdce101253e860feff547291b0] Linux 3.19-rc3 git bisect good b1940cd21c0f4abdce101253e860feff547291b0 # bad: [03c751a5e10caafbb6d1afcaf1ea67f2153c3193] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs git bisect bad 03c751a5e10caafbb6d1afcaf1ea67f2153c3193 # bad: [53dc20b9a3d928b0744dad5aee65b610de1cc85d] ocfs2: fix the wrong directory passed to ocfs2_lookup_ino_from_name() when link file git bisect bad 53dc20b9a3d928b0744dad5aee65b610de1cc85d # good: [e8829f007e982a9a8fb4023109233d5f344d4657] batman-adv: fix counter for multicast supporting nodes git bisect good e8829f007e982a9a8fb4023109233d5f344d4657 # good: [2abad79afa700e837cb4feed170141292e0720c0] qla3xxx: don't allow never end busy loop git bisect good 2abad79afa700e837cb4feed170141292e0720c0 # good: [0adc1803880db728fa7f8cbad5b214ab657e5e0d] Merge tag 'for-linus-3' of git://git.code.sf.net/p/openipmi/linux-ipmi git bisect good 0adc1803880db728fa7f8cbad5b214ab657e5e0d # good: [3245d6acab981a2388ffb877c7ecc97e763c59d4] exit: fix race between wait_consider_task() and wait_task_zombie() git bisect good 3245d6acab981a2388ffb877c7ecc97e763c59d4 # bad: [2d6d7f98284648c5ed113fe22a132148950b140f] mm: protect set_page_dirty() from ongoing truncation git bisect bad 2d6d7f98284648c5ed113fe22a132148950b140f # bad: [7a3ef208e662f4b63d43a23f61a64a129c525bbc] mm: prevent endless growth of anon_vma hierarchy git bisect bad 7a3ef208e662f4b63d43a23f61a64a129c525bbc # first bad commit: [7a3ef208e662f4b63d43a23f61a64a129c525bbc] mm: prevent endless grow
[Bug 86351] HDMI audio garbled output on Radeon R9 280X
https://bugzilla.kernel.org/show_bug.cgi?id=86351 --- Comment #3 from Christian Birchinger --- Retried with kernel 3.18.2: If i constantly open new windows or constantly switch virtual desktops really fast or do other things that keeps the desktop busy, the sound plays back normaly. As soon as the desktop is "idle" the sound becomes garbled again. Playing a video also has working sound. However only stereo seems to work. There's not enough for passthru Dolby D. The receiver gets a Dolby D link from time to time but loses it again shortly after. As if theres not enough bandwidth reserved for audio during desktop "idle time" or some weird power save mode. -- You are receiving this mail because: You are watching the assignee of the bug.
[LKP] [PATCH] drm/radeon: Try to init amdkfd only if 64 bit kernel
On 01/07/2015 12:58 AM, Rusty Russell wrote: > Kees Cook writes: >> On Sun, Jan 4, 2015 at 8:28 PM, Rusty Russell >> wrote: >>> Kees, as far as I can tell you need another 0-terminated vmlinux.relocs >>> section for weak symbols. These should not be relocated if already 0. >> >> A few questions: >> >> Why doesn't this break on 32-bit without kASLR? 32-bit does relocation >> by default, even without CONFIG_RANDOMIZE_BASE. > > Well, the offset was 0 until I removed CONFIG_HIBERNATE. > >> Are there any symbols that are NULL that aren't weak? I'd expect all >> strong symbols to have non-zero offsets, but I must be >> misunderstanding something here. > > I don't think there would be. Anyway, you might be able to filter them > out in x86/tools/relocs itself. > > Cheers, > Rusty. > Hi Kees, Did you had time to look at the problem ? Oded
[Bug 86351] HDMI audio garbled output on Radeon R9 280X
https://bugzilla.kernel.org/show_bug.cgi?id=86351 Andy Furniss changed: What|Removed |Added CC||adf.lists at gmail.com --- Comment #4 from Andy Furniss --- You are not alone, I get this on my R9270X - https://bugs.freedesktop.org/show_bug.cgi?id=77677 -- You are receiving this mail because: You are watching the assignee of the bug.
[Bug 88263] Civilization Beyond Earth crashes on r600
https://bugs.freedesktop.org/show_bug.cgi?id=88263 oleid at mescharet.de changed: What|Removed |Added Summary|Civilization Beyond Earth |Civilization Beyond Earth |crashes on |crashes on r600 -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/2fa09f02/attachment.html>
[Bug 90451] Dedicated gpu on HP 355 G2 not working correctly (slower than integrated+corrupt display in es2gears)
https://bugzilla.kernel.org/show_bug.cgi?id=90451 --- Comment #6 from l55 at anonymousspeech.com --- looks like basically it's switching: $ glxinfo | grep ' renderer' OpenGL renderer string: Gallium 0.4 on AMD MULLINS $ DRI_PRIME=1 glxinfo | grep ' renderer' OpenGL renderer string: Gallium 0.4 on AMD HAINAN I tried enabling this repo but i can't install mesa, it says it can't find the package, although it's listed on the ppa page: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers The xserver-xorg-video-ati git snapshot from this repo made my system freeze even more often.(Another issue i have which is probably related to ati driver i reported here: Total system freeze: https://bugzilla.kernel.org/show_bug.cgi?id=90981 . Maybe you could also take a look at this?) -- You are receiving this mail because: You are watching the assignee of the bug.
[Bug 88152] 720p and 1080 H.264 videos lock-up on playback with vlc / vdpau on Radeon 3850HD
https://bugs.freedesktop.org/show_bug.cgi?id=88152 --- Comment #4 from Arthur Marsh --- The commit: https://github.com/torvalds/linux/commit/dd5a74f2f982193620cfa1ef609df1ee805781d4 appears to at least reduce the problem. Is there any (semi-)automated way to check for any more occurences of signed variables that should be unsigned? -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/32772f9d/attachment.html>
[Bug 88227] Radeonsi: High GTT usage in Prison Architect large map
https://bugs.freedesktop.org/show_bug.cgi?id=88227 --- Comment #9 from James Harvey --- Reverting the above commit against mesa git master did not solve the problem. Performed another bisection and got result: commit b419c651fbbf3660d7b53623dfa2e5a4c9bd3b98 Author: Marek Olšák Date: Wed Aug 20 23:53:40 2014 +0200 gallium/pb_bufmgr_cache: limit the size of cache This should make a machine which is running piglit more responsive at times. e.g. streaming-texture-leak can easily eat 600 MB because of how fast it creates new textures. Reverting this commit (to remove the cache limit) returned the game to full performance. Tested against git-ff1948a. -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/3b3f6d0d/attachment.html>
[Bug 88152] 720p and 1080 H.264 videos lock-up on playback with vlc / vdpau on Radeon 3850HD
https://bugs.freedesktop.org/show_bug.cgi?id=88152 --- Comment #5 from Arthur Marsh --- Created attachment 112092 --> https://bugs.freedesktop.org/attachment.cgi?id=112092&action=edit 20150112dmesg.txt After updating to the Linus git head kernel with https://github.com/torvalds/linux/commit/dd5a74f2f982193620cfa1ef609df1ee805781d4 applied, and applying the patch at http://article.gmane.org/gmane.linux.kernel.mm/127052 I still had vlc lock-up with one video with 20150112dmesg.txt dump. mediainfo reports the video format as: Format : MPEG-4 Format profile : Base Media Codec ID : isom File size: 2.54 GiB Duration : 48mn 0s Overall bit rate : 7 579 Kbps Encoded date : UTC 2010-01-10 03:49:24 Tagged date : UTC 2010-01-10 03:49:24 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High at L4.0 Format settings, CABAC : Yes Format settings, ReFrames: 3 frames Codec ID : avc1 Codec ID/Info: Advanced Video Coding Duration : 48mn 0s Source duration : 47mn 59s Bit rate : 7 110 Kbps Width: 1 440 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 29.970 fps Standard : NTSC Color space : YUV Chroma subsampling : 4:2:0 Bit depth: 8 bits Scan type: Progressive Bits/(Pixel*Frame) : 0.153 Stream size : 2.38 GiB (94%) Source stream size : 2.49 GiB (98%) Language : English Encoded date : UTC 2010-01-10 03:49:24 Tagged date : UTC 2010-01-10 03:49:24 Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 mdhd_Duration: 2880936 -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/4d7f1167/attachment-0001.html>
[Bug 88227] Radeonsi: High GTT usage in Prison Architect large map
https://bugs.freedesktop.org/show_bug.cgi?id=88227 --- Comment #10 from Marek Olšák --- James, can you increase the size of cache manually and see what works better? There is only one formula in radeon_drm_winsys.c:676, so it should be trivial. Also please how much VRAM and GTT do you have? -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/ff53efbc/attachment.html>
[Bug 88152] 720p and 1080 H.264 videos lock-up on playback with vlc / vdpau on Radeon 3850HD
https://bugs.freedesktop.org/show_bug.cgi?id=88152 --- Comment #6 from Christian König --- (In reply to Arthur Marsh from comment #4) > The commit: > > https://github.com/torvalds/linux/commit/ > dd5a74f2f982193620cfa1ef609df1ee805781d4 > > appears to at least reduce the problem. The patch can't affect the issue, cause it only applies to non UMS mode which is completely deprecated and doesn't support UVD at all. -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/a8c57af3/attachment.html>
[Bug 90451] Dedicated gpu on HP 355 G2 not working correctly (slower than integrated+corrupt display in es2gears)
https://bugzilla.kernel.org/show_bug.cgi?id=90451 --- Comment #7 from l55 at anonymousspeech.com --- i installed kernel 3.18.2 and upgraded mesa and the other packages except for libdrm-radeon1,xserver-xorg-video-ati,xserver-xorg-video-radeon from the mentioned oibaf ppa. Now DRI_PRIME=1 esgears displays fine, but fps are not higher than with integrated(the same fps) and unigine tropics benchmark is still corrupted. I tried to run a game with wine on the gears on gallium livedvd and the fps, if i recall correctly, were lower on the dedicated gpu than with the integrated but no corrupt display there(didn't test es2gears/tropics with it because es2gears is not included(tropics benchmark may be included in phoronics test suite, i'll check that) and the livedvd doesn't seem to have a package manager) gears on gallium 2014.12.25 packages: Mesa-git â 10.5_git2014.12.25 Kernel â 3.19-rc1 libdrm â 2.4.99_git2014.09.30 Mesa-demos â 9.1.0_git2014.07.06 xorg-server â 1.16.99.9 xf86-video-ati â 7.99.99_2014.12.20 -- You are receiving this mail because: You are watching the assignee of the bug.
[Bug 90451] Dedicated gpu on HP 355 G2 not working correctly (slower than integrated+corrupt display in es2gears)
https://bugzilla.kernel.org/show_bug.cgi?id=90451 --- Comment #8 from l55 at anonymousspeech.com --- I tested with gears on gallium, there i can't even switch gpus: $ xrandr --listproviders Providers: number : 1 Provider 0: id: 0x54 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 3 associated providers: 0 name:radeon $ glxinfo | grep ' renderer' ATTENTION: default value of option vblank_mode overridden by environment. OpenGL renderer string: Gallium 0.4 on AMD MULLINS $ DRI_PRIME=1 glxinfo | grep ' renderer' ATTENTION: default value of option vblank_mode overridden by environment. OpenGL renderer string: Gallium 0.4 on AMD MULLINS However in vgaswitcheroo/switch there are still 2 gpus: # cat /sys/kernel/debug/vgaswitcheroo/switch 0:IGD:+:Pwr::00:01.0 1:DIS: :DynOff::01:00.0 Has there been some change in how to switch between gpus and it's not done with DRI_PRIME=1 anymore? -- You are receiving this mail because: You are watching the assignee of the bug.
[PATCH] drm: radeon: ci_dpm: Remove some unused functions
Removes some functions that are not used anywhere: ci_dpm_reset_asic() ci_dpm_power_control_set_level() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/radeon/ci_dpm.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c index 11a55e9..06060a5 100644 --- a/drivers/gpu/drm/radeon/ci_dpm.c +++ b/drivers/gpu/drm/radeon/ci_dpm.c @@ -4804,16 +4804,6 @@ int ci_dpm_set_power_state(struct radeon_device *rdev) return 0; } -int ci_dpm_power_control_set_level(struct radeon_device *rdev) -{ - return ci_power_control_set_level(rdev); -} - -void ci_dpm_reset_asic(struct radeon_device *rdev) -{ - ci_set_boot_state(rdev); -} - void ci_dpm_display_configuration_changed(struct radeon_device *rdev) { ci_program_display_gap(rdev); -- 1.7.10.4
[PATCH] drm: radeon: trinity_dpm: Remove unused function
Remove the function trinity_dpm_reset_asic() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/radeon/trinity_dpm.c | 16 1 file changed, 16 deletions(-) diff --git a/drivers/gpu/drm/radeon/trinity_dpm.c b/drivers/gpu/drm/radeon/trinity_dpm.c index b4ec5c4..7428da0 100644 --- a/drivers/gpu/drm/radeon/trinity_dpm.c +++ b/drivers/gpu/drm/radeon/trinity_dpm.c @@ -1269,22 +1269,6 @@ void trinity_dpm_setup_asic(struct radeon_device *rdev) trinity_release_mutex(rdev); } -void trinity_dpm_reset_asic(struct radeon_device *rdev) -{ - struct trinity_power_info *pi = trinity_get_pi(rdev); - - trinity_acquire_mutex(rdev); - if (pi->enable_dpm) { - trinity_enable_power_level_0(rdev); - trinity_force_level_0(rdev); - trinity_wait_for_level_0(rdev); - trinity_program_bootup_state(rdev); - trinity_force_level_0(rdev); - trinity_unforce_levels(rdev); - } - trinity_release_mutex(rdev); -} - static u16 trinity_convert_voltage_index_to_value(struct radeon_device *rdev, u32 vid_2bit) { -- 1.7.10.4
[PATCH] gpu: drm: radeon: radeon_object: Remove unused function
Remove the function radeon_bo_fbdev_mmap() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/radeon/radeon_object.c |6 -- drivers/gpu/drm/radeon/radeon_object.h |2 -- 2 files changed, 8 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index 99a960a..4f2515f 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -542,12 +542,6 @@ int radeon_bo_list_validate(struct radeon_device *rdev, return 0; } -int radeon_bo_fbdev_mmap(struct radeon_bo *bo, -struct vm_area_struct *vma) -{ - return ttm_fbdev_mmap(vma, &bo->tbo); -} - int radeon_bo_get_surface_reg(struct radeon_bo *bo) { struct radeon_device *rdev = bo->rdev; diff --git a/drivers/gpu/drm/radeon/radeon_object.h b/drivers/gpu/drm/radeon/radeon_object.h index 1b8ec79..1cf3cd9 100644 --- a/drivers/gpu/drm/radeon/radeon_object.h +++ b/drivers/gpu/drm/radeon/radeon_object.h @@ -143,8 +143,6 @@ extern void radeon_bo_fini(struct radeon_device *rdev); extern int radeon_bo_list_validate(struct radeon_device *rdev, struct ww_acquire_ctx *ticket, struct list_head *head, int ring); -extern int radeon_bo_fbdev_mmap(struct radeon_bo *bo, - struct vm_area_struct *vma); extern int radeon_bo_set_tiling_flags(struct radeon_bo *bo, u32 tiling_flags, u32 pitch); extern void radeon_bo_get_tiling_flags(struct radeon_bo *bo, -- 1.7.10.4
[PATCH] gpu: drm: nouveau: nvif: device: Remove unused function
Remove the function nvif_device_new() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/nouveau/nvif/device.c | 18 -- drivers/gpu/drm/nouveau/nvif/device.h |2 -- 2 files changed, 20 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvif/device.c b/drivers/gpu/drm/nouveau/nvif/device.c index f477579..8522aa9 100644 --- a/drivers/gpu/drm/nouveau/nvif/device.c +++ b/drivers/gpu/drm/nouveau/nvif/device.c @@ -53,24 +53,6 @@ nvif_device_del(struct nvif_device *device) kfree(device); } -int -nvif_device_new(struct nvif_object *parent, u32 handle, u32 oclass, - void *data, u32 size, struct nvif_device **pdevice) -{ - struct nvif_device *device = kzalloc(sizeof(*device), GFP_KERNEL); - if (device) { - int ret = nvif_device_init(parent, nvif_device_del, handle, - oclass, data, size, device); - if (ret) { - kfree(device); - device = NULL; - } - *pdevice = device; - return ret; - } - return -ENOMEM; -} - void nvif_device_ref(struct nvif_device *device, struct nvif_device **pdevice) { diff --git a/drivers/gpu/drm/nouveau/nvif/device.h b/drivers/gpu/drm/nouveau/nvif/device.h index 43180f9..8440848 100644 --- a/drivers/gpu/drm/nouveau/nvif/device.h +++ b/drivers/gpu/drm/nouveau/nvif/device.h @@ -22,8 +22,6 @@ int nvif_device_init(struct nvif_object *, void (*dtor)(struct nvif_device *), u32 handle, u32 oclass, void *, u32, struct nvif_device *); void nvif_device_fini(struct nvif_device *); -int nvif_device_new(struct nvif_object *, u32 handle, u32 oclass, -void *, u32, struct nvif_device **); void nvif_device_ref(struct nvif_device *, struct nvif_device **); /*XXX*/ -- 1.7.10.4
[PATCH] drm: radeon: btc_dpm: Remove unused function
Remove the function btc_dpm_reset_asic() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/radeon/btc_dpm.c |8 1 file changed, 8 deletions(-) diff --git a/drivers/gpu/drm/radeon/btc_dpm.c b/drivers/gpu/drm/radeon/btc_dpm.c index 0b2929d..fea7130 100644 --- a/drivers/gpu/drm/radeon/btc_dpm.c +++ b/drivers/gpu/drm/radeon/btc_dpm.c @@ -2277,14 +2277,6 @@ static void btc_update_requested_ps(struct radeon_device *rdev, eg_pi->requested_rps.ps_priv = &eg_pi->requested_ps; } -void btc_dpm_reset_asic(struct radeon_device *rdev) -{ - rv770_restrict_performance_levels_before_switch(rdev); - btc_disable_ulv(rdev); - btc_set_boot_state_timing(rdev); - rv770_set_boot_state(rdev); -} - int btc_dpm_pre_set_power_state(struct radeon_device *rdev) { struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); -- 1.7.10.4
[PATCH] drm: nouveau: nouveau_gem: Remove unused function
Remove the function domain_to_ttm() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/nouveau/nouveau_gem.c | 13 - 1 file changed, 13 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c index 36951ee..f208d3a 100644 --- a/drivers/gpu/drm/nouveau/nouveau_gem.c +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c @@ -825,19 +825,6 @@ out_next: return nouveau_abi16_put(abi16, ret); } -static inline uint32_t -domain_to_ttm(struct nouveau_bo *nvbo, uint32_t domain) -{ - uint32_t flags = 0; - - if (domain & NOUVEAU_GEM_DOMAIN_VRAM) - flags |= TTM_PL_FLAG_VRAM; - if (domain & NOUVEAU_GEM_DOMAIN_GART) - flags |= TTM_PL_FLAG_TT; - - return flags; -} - int nouveau_gem_ioctl_cpu_prep(struct drm_device *dev, void *data, struct drm_file *file_priv) -- 1.7.10.4
[PATCH] drm: radeon: ni_dpm: Remove unused function
Remove the function ni_dpm_reset_asic() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/radeon/ni_dpm.c |6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/gpu/drm/radeon/ni_dpm.c b/drivers/gpu/drm/radeon/ni_dpm.c index 6d2f16c..dcd5568 100644 --- a/drivers/gpu/drm/radeon/ni_dpm.c +++ b/drivers/gpu/drm/radeon/ni_dpm.c @@ -3862,12 +3862,6 @@ void ni_dpm_post_set_power_state(struct radeon_device *rdev) ni_update_current_ps(rdev, new_ps); } -void ni_dpm_reset_asic(struct radeon_device *rdev) -{ - ni_restrict_performance_levels_before_switch(rdev); - rv770_set_boot_state(rdev); -} - union power_info { struct _ATOM_POWERPLAY_INFO info; struct _ATOM_POWERPLAY_INFO_V2 info_2; -- 1.7.10.4
[PATCH] drm: radeon: cypress_dpm: Remove unused function
Remove the function cypress_dpm_reset_asic() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/radeon/cypress_dpm.c |6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c index 9aad032..d3f8208 100644 --- a/drivers/gpu/drm/radeon/cypress_dpm.c +++ b/drivers/gpu/drm/radeon/cypress_dpm.c @@ -2005,12 +2005,6 @@ int cypress_dpm_set_power_state(struct radeon_device *rdev) return 0; } -void cypress_dpm_reset_asic(struct radeon_device *rdev) -{ - rv770_restrict_performance_levels_before_switch(rdev); - rv770_set_boot_state(rdev); -} - void cypress_dpm_display_configuration_changed(struct radeon_device *rdev) { cypress_program_display_gap(rdev); -- 1.7.10.4
Softlockup on boot with Cape Verde XT on many kernels
On Sat, Jan 10, 2015 at 8:58 PM, Federico wrote: > Hi. > I always get a soft lockup when booting since I bought a Cape Verde XT > [Radeon HD 7770/8760 / R7 250X]. > > In this bug report you can find screenshots of the softlockup and the kernel > panic generated by using softlockup_panic=1 > > https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1386973 > > I have this problem with and without nomodeset and I have tested the kernels > that come with Ubuntu 14.04, 14.10 and 15.04 (today's daily image). > > The live session shows me the boot menu where I can enter kernel options > and such, but when booting into a live session it soon prints the softlockup > messages forever. > > In order to install catalyst I had to disable the card in the BIOS and boot > into the integrated graphics. Catalyst works perfectly. > > MoBo is based on AMD 780G (Radeon HD3200 IGP). > > If there's anything I can do to help find a workaround or a fix for this, > let me know. Booting with nomodeset disables the graphics drivers so if you are still getting problems, it may a hardware problem. Can you attach your full dmesg and lspci output? Are you disabling the onboard graphics when enabling the external dGPU? Alex
Fwd: Softlockup on boot with Cape Verde XT on many kernels
2015-01-11 14:19 GMT-03:00 Alex Deucher : > Booting with nomodeset disables the graphics drivers so if you are > still getting problems, it may a hardware problem. Can you attach > your full dmesg and lspci output? Are you disabling the onboard > graphics when enabling the external dGPU? > > Alex > I attached those outputs to https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1386973 I wasn't sure if you meant attaching to this response. I was able to boot with nomodeset into Ubuntu 15.04's image. I get to a graphic log in screen, but I also get some errors in the kernel log [drm:radeon_init] *ERROR* No UMS support in radeon module! Which seems by design so I assume the VESA driver was in use. I will try to boot Ubuntu 14.10 live image with nomodeset to see if I can get some error messages there. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/33f8321b/attachment.html>
[Bug 88301] Dota causes GPU fault and kernel hang
https://bugs.freedesktop.org/show_bug.cgi?id=88301 Bug ID: 88301 Summary: Dota causes GPU fault and kernel hang Product: DRI Version: DRI git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: DRM/Radeon Assignee: dri-devel at lists.freedesktop.org Reporter: tilman at code-monkey.de I've got an apitrace of Dota that reliably causes GPU faults on radeonsi on my Bonaire XTX. The trace: http://files.code-monkey.de/dota.trace (468797931 bytes). I'm running Mesa from master (8d2542fc9d5af4db355b67cc2a1ff2f413685a27) and can reproduce the problem with kernel 3.18.2 and 3.19.0-rc2 (built from airlied's drm-fixes tree; 79305ec6e60d320832505e95c1a028d309fcd2b6). agd5f's "fix VM flush" patches from 2015-01-06 don't help either. Example kernel log excerpt: radeon :01:00.0: GPU fault detected: 147 0x000c4801 radeon :01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x0100 radeon :01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0C048001 VM fault (0x01, vmid 6) at page 16777216, read from 'TC2' (0x54433200) (72) radeon :01:00.0: GPU fault detected: 146 0x000c080c radeon :01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x radeon :01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0C00800C VM fault (0x0c, vmid 6) at page 0, read from 'TC0' (0x54433000) (8) -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/5c56cd00/attachment.html>
Softlockup on boot with Cape Verde XT on many kernels
Ubuntu 14.10 (kernel is 3.16.0) with nomodeset also boots. But it seems to be using the a generic driver cat /var/log/kern.log | grep ERROR Jan 11 20:07:56 ubuntu kernel: [6.174086] [drm:radeon_init] *ERROR* No UMS support in radeon module! Jan 11 20:07:56 ubuntu kernel: [ 54.093686] [drm:radeon_init] *ERROR* No UMS support in radeon module! Jan 11 20:08:10 ubuntu kernel: [ 94.983647] [drm:radeon_init] *ERROR* No UMS support in radeon module! glxinfo | grep Open OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 128 bits) OpenGL version string: 3.0 Mesa 10.3.0 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: 2015-01-11 19:44 GMT+00:00 Federico : > > > 2015-01-11 14:19 GMT-03:00 Alex Deucher : > >> Booting with nomodeset disables the graphics drivers so if you are >> still getting problems, it may a hardware problem. Can you attach >> your full dmesg and lspci output? Are you disabling the onboard >> graphics when enabling the external dGPU? >> >> Alex >> > > I attached those outputs to > https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1386973 > I wasn't sure if you meant attaching to this response. > > I was able to boot with nomodeset into Ubuntu 15.04's image. I get to a > graphic log in screen, but I also get some errors in the kernel log > > [drm:radeon_init] *ERROR* No UMS support in radeon module! > > Which seems by design so I assume the VESA driver was in use. > > I will try to boot Ubuntu 14.10 live image with nomodeset to see if I can > get some error messages there. > -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150111/852d3445/attachment.html>
[Bug 66761] ACPI "Firmware Bug" (IGPU, Z01I) causes trouble
https://bugzilla.kernel.org/show_bug.cgi?id=66761 --- Comment #10 from KernelBug <3fdd1e5d at opayq.com> --- Don't mean to hijack a bug report, but I'm also getting ACPI Warning messages, and wanted to know, are there kernel modules related to this I can blacklist? Or anything I can do to fix these? Also are these releated to smbus? ACPI Warning: SystemIO range 0xf000-0xf01f conflicts with OpRegion 0xf000-0xf00f (\SMB0) (20140926/utaddress-258) ACPI Warning: SystemIO range 0xf000-0xf01f conflicts with OpRegion 0xf000-0xf00f (\_SB_.PCI0.SBUS.SMBI) (20140926/utaddress-258) thank you -- You are receiving this mail because: You are watching the assignee of the bug.
[PATCH] drm: nouveau: core: engine: perfmon: base: Remove unused function
Remove the function nouveau_perfsig_wrap() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/nouveau/core/engine/perfmon/base.c | 20 drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h |5 - 2 files changed, 25 deletions(-) diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c b/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c index 6301381..d0c5255 100644 --- a/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c +++ b/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c @@ -80,26 +80,6 @@ nouveau_perfsig_find(struct nouveau_perfmon *ppm, const char *name, u32 size, return nouveau_perfsig_find_(dom, name, size); } -struct nouveau_perfctr * -nouveau_perfsig_wrap(struct nouveau_perfmon *ppm, const char *name, -struct nouveau_perfdom **pdom) -{ - struct nouveau_perfsig *sig; - struct nouveau_perfctr *ctr; - - sig = nouveau_perfsig_find(ppm, name, strlen(name), pdom); - if (!sig) - return NULL; - - ctr = kzalloc(sizeof(*ctr), GFP_KERNEL); - if (ctr) { - ctr->signal[0] = sig; - ctr->logic_op = 0x; - } - - return ctr; -} - /*** * Perfmon object classes **/ diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h b/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h index 0ac8714..1a0989e 100644 --- a/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h +++ b/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h @@ -30,11 +30,6 @@ struct nouveau_perfsig { const char *name; }; -struct nouveau_perfdom; -struct nouveau_perfctr * -nouveau_perfsig_wrap(struct nouveau_perfmon *, const char *, -struct nouveau_perfdom **); - struct nouveau_specdom { u16 signal_nr; const struct nouveau_specsig *signal; -- 1.7.10.4
[PATCH v9 3/4] ASoC: tda998x: add a codec to the HDMI transmitter
Some more comments based on my - finally successful - attempt to use this code with BBB HDMI audio. On 01/07/2015 12:51 PM, Jean-Francois Moine wrote: > This patch adds a CODEC to the NXP TDA998x HDMI transmitter. > > The CODEC handles both I2S and S/PDIF inputs. > It maintains the audio format and rate constraints according > to the HDMI device parameters (EDID) and sets dynamically the input > ports in the TDA998x I2C driver on start/stop audio streaming. > > Signed-off-by: Jean-Francois Moine > --- > drivers/gpu/drm/i2c/Kconfig | 1 + > drivers/gpu/drm/i2c/tda998x_drv.c | 139 -- > include/sound/tda998x.h | 23 + > sound/soc/codecs/Kconfig | 4 + > sound/soc/codecs/Makefile | 2 + > sound/soc/codecs/tda998x.c| 175 > ++ > 6 files changed, 339 insertions(+), 5 deletions(-) > create mode 100644 include/sound/tda998x.h > create mode 100644 sound/soc/codecs/tda998x.c > > diff --git a/drivers/gpu/drm/i2c/Kconfig b/drivers/gpu/drm/i2c/Kconfig > index 22c7ed6..24fc975 100644 > --- a/drivers/gpu/drm/i2c/Kconfig > +++ b/drivers/gpu/drm/i2c/Kconfig > @@ -28,6 +28,7 @@ config DRM_I2C_SIL164 > config DRM_I2C_NXP_TDA998X > tristate "NXP Semiconductors TDA998X HDMI encoder" > default m if DRM_TILCDC > + select SND_SOC_TDA998X > help > Support for NXP Semiconductors TDA998X HDMI encoders. > > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c > b/drivers/gpu/drm/i2c/tda998x_drv.c > index ce1478d..a26a516 100644 > --- a/drivers/gpu/drm/i2c/tda998x_drv.c > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c > @@ -27,6 +27,11 @@ > #include > #include > #include > +#include > + > +#if defined(CONFIG_SND_SOC_TDA998X) || defined(CONFIG_SND_SOC_TDA998X_MODULE) > +#define WITH_CODEC 1 > +#endif > > #define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__) > > @@ -47,6 +52,10 @@ struct tda998x_priv { > struct drm_encoder *encoder; > > u8 audio_ports[2]; > +#ifdef WITH_CODEC > + u8 sad[3]; /* Short Audio Descriptor */ > + struct snd_pcm_hw_constraint_list rate_constraints; > +#endif It feels a bit backwards to me to store these audio side variables here in DRM side driver - especially the rate_constraint - and provide a function (tda998x_get_audio_var()) for getting their individual addresses to ASoC side. Wouldn't it be more straight forward to provide functions for setting and getting the audio side data from a void pointer in DRM side device drvdata? > }; > > #define to_tda998x_priv(x) ((struct tda998x_priv > *)to_encoder_slave(x)->slave_priv) > @@ -730,11 +739,109 @@ tda998x_configure_audio(struct tda998x_priv *priv, > tda998x_write_aif(priv, p); > } > > +#ifdef WITH_CODEC > +/* tda998x audio codec interface */ > + > +/* return the audio parameters extracted from the last EDID */ > +static int tda998x_get_audio_var(struct device *dev, > + u8 **sad, > + struct snd_pcm_hw_constraint_list **rate_constraints) > +{ > + struct tda998x_priv *priv = dev_get_drvdata(dev); > + > + if (!priv->encoder->crtc > + || !priv->is_hdmi_sink) > + return -ENODEV; > + > + *sad = priv->sad; > + *rate_constraints = &priv->rate_constraints; > + return 0; > +} > + > +/* switch the audio port and initialize the audio parameters for streaming */ > +static int tda998x_set_audio_input(struct device *dev, > + int port_index, > + unsigned sample_rate, > + int sample_format) > +{ > + struct tda998x_priv *priv = dev_get_drvdata(dev); > + struct tda998x_encoder_params *p = &priv->params; > + > + if (!priv->encoder->crtc) > + return -ENODEV; > + > + /* if no port, just disable the audio port */ > + if (port_index == PORT_NONE) { > + reg_write(priv, REG_ENA_AP, 0); > + return 0; > + } > + > + /* if same audio parameters, just enable the audio port */ > + if (p->audio_cfg == priv->audio_ports[port_index] && > + p->audio_sample_rate == sample_rate) { > + reg_write(priv, REG_ENA_AP, p->audio_cfg); > + return 0; > + } > + > + p->audio_format = port_index == PORT_SPDIF ? AFMT_SPDIF : AFMT_I2S; > + p->audio_clk_cfg = port_index == PORT_SPDIF ? 0 : 1; > + p->audio_cfg = priv->audio_ports[port_index]; > + p->audio_sample_rate = sample_rate; > + tda998x_configure_audio(priv, &priv->encoder->crtc->hwmode, p); > + return 0; > +} > + > +/* get the audio capabilities from the EDID */ > +static void tda998x_get_audio_caps(struct tda998x_priv *priv, > + struct drm_connector *connector) > +{ > + u8 *eld = connector->eld; > + u8 *sad; > + int sad_count; > + unsigned eld_ver, mnl; > + u8 max_channels, rate_mask, fmt; > + >
[PATCH] drm: nouveau: core: engine: perfmon: base: Remove unused function
2015-01-11 22:00 GMT+01:00 Samuel Pitoiset : > Hi Rickard, > > Thanks for submitting this patch, but I already submitted the same a few > weeks ago. :-) > > This function will be removed when I will submit my work on this area. > > Greetings, > Samuel Pitoiset. > > > On 01/11/2015 07:12 PM, Rickard Strandqvist wrote: >> >> Remove the function nouveau_perfsig_wrap() that is not used anywhere. >> >> This was partially found by using a static code analysis program called >> cppcheck. >> >> Signed-off-by: Rickard Strandqvist >> >> --- >> drivers/gpu/drm/nouveau/core/engine/perfmon/base.c | 20 >> >> drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h |5 - >> 2 files changed, 25 deletions(-) >> >> diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c >> b/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c >> index 6301381..d0c5255 100644 >> --- a/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c >> +++ b/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c >> @@ -80,26 +80,6 @@ nouveau_perfsig_find(struct nouveau_perfmon *ppm, const >> char *name, u32 size, >> return nouveau_perfsig_find_(dom, name, size); >> } >> -struct nouveau_perfctr * >> -nouveau_perfsig_wrap(struct nouveau_perfmon *ppm, const char *name, >> -struct nouveau_perfdom **pdom) >> -{ >> - struct nouveau_perfsig *sig; >> - struct nouveau_perfctr *ctr; >> - >> - sig = nouveau_perfsig_find(ppm, name, strlen(name), pdom); >> - if (!sig) >> - return NULL; >> - >> - ctr = kzalloc(sizeof(*ctr), GFP_KERNEL); >> - if (ctr) { >> - ctr->signal[0] = sig; >> - ctr->logic_op = 0x; >> - } >> - >> - return ctr; >> -} >> - >> >> /*** >>* Perfmon object classes >> >> **/ >> diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h >> b/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h >> index 0ac8714..1a0989e 100644 >> --- a/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h >> +++ b/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h >> @@ -30,11 +30,6 @@ struct nouveau_perfsig { >> const char *name; >> }; >> -struct nouveau_perfdom; >> -struct nouveau_perfctr * >> -nouveau_perfsig_wrap(struct nouveau_perfmon *, const char *, >> -struct nouveau_perfdom **); >> - >> struct nouveau_specdom { >> u16 signal_nr; >> const struct nouveau_specsig *signal; > > Hi Samuel Thanks, another of the drawbacks that I start this off too long ago :( Kind regards Rickard Strandqvist
[PATCH] drm/nouveau/dispnv04/disp: Remove some unused functions
Removes some functions that are not used anywhere: nv04_display_late_takedown() nv04_display_early_init() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/nouveau/dispnv04/disp.c | 18 -- drivers/gpu/drm/nouveau/dispnv04/disp.h |2 -- 2 files changed, 20 deletions(-) diff --git a/drivers/gpu/drm/nouveau/dispnv04/disp.c b/drivers/gpu/drm/nouveau/dispnv04/disp.c index 3d0afa1..bdf7cf4 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/disp.c +++ b/drivers/gpu/drm/nouveau/dispnv04/disp.c @@ -32,24 +32,6 @@ #include "nouveau_connector.h" int -nv04_display_early_init(struct drm_device *dev) -{ - /* ensure vblank interrupts are off, they can't be enabled until -* drm_vblank has been initialised -*/ - NVWriteCRTC(dev, 0, NV_PCRTC_INTR_EN_0, 0); - if (nv_two_heads(dev)) - NVWriteCRTC(dev, 1, NV_PCRTC_INTR_EN_0, 0); - - return 0; -} - -void -nv04_display_late_takedown(struct drm_device *dev) -{ -} - -int nv04_display_create(struct drm_device *dev) { struct nouveau_drm *drm = nouveau_drm(dev); diff --git a/drivers/gpu/drm/nouveau/dispnv04/disp.h b/drivers/gpu/drm/nouveau/dispnv04/disp.h index 17b899d..3ad3ee8 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/disp.h +++ b/drivers/gpu/drm/nouveau/dispnv04/disp.h @@ -90,8 +90,6 @@ nv04_display(struct drm_device *dev) } /* nv04_display.c */ -int nv04_display_early_init(struct drm_device *); -void nv04_display_late_takedown(struct drm_device *); int nv04_display_create(struct drm_device *); void nv04_display_destroy(struct drm_device *); int nv04_display_init(struct drm_device *); -- 1.7.10.4
[PATCH] drm: radeon: si_dpm: Remove unused function
Remove the function si_dpm_reset_asic() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/radeon/si_dpm.c |7 --- 1 file changed, 7 deletions(-) diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c index 676e6c2..5e2fb9a 100644 --- a/drivers/gpu/drm/radeon/si_dpm.c +++ b/drivers/gpu/drm/radeon/si_dpm.c @@ -6154,13 +6154,6 @@ void si_dpm_post_set_power_state(struct radeon_device *rdev) } -void si_dpm_reset_asic(struct radeon_device *rdev) -{ - si_restrict_performance_levels_before_switch(rdev); - si_disable_ulv(rdev); - si_set_boot_state(rdev); -} - void si_dpm_display_configuration_changed(struct radeon_device *rdev) { si_program_display_gap(rdev); -- 1.7.10.4
[PATCH] drm/radeon/kv_dpm: Remove unused function
Remove the function kv_dpm_reset_asic() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/radeon/kv_dpm.c | 21 - 1 file changed, 21 deletions(-) diff --git a/drivers/gpu/drm/radeon/kv_dpm.c b/drivers/gpu/drm/radeon/kv_dpm.c index 9b42001..61a9b14 100644 --- a/drivers/gpu/drm/radeon/kv_dpm.c +++ b/drivers/gpu/drm/radeon/kv_dpm.c @@ -1925,27 +1925,6 @@ void kv_dpm_setup_asic(struct radeon_device *rdev) kv_init_sclk_t(rdev); } -void kv_dpm_reset_asic(struct radeon_device *rdev) -{ - struct kv_power_info *pi = kv_get_pi(rdev); - - if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS) { - kv_force_lowest_valid(rdev); - kv_init_graphics_levels(rdev); - kv_program_bootup_state(rdev); - kv_upload_dpm_settings(rdev); - kv_force_lowest_valid(rdev); - kv_unforce_levels(rdev); - } else { - kv_init_graphics_levels(rdev); - kv_program_bootup_state(rdev); - kv_freeze_sclk_dpm(rdev, true); - kv_upload_dpm_settings(rdev); - kv_freeze_sclk_dpm(rdev, false); - kv_set_enabled_level(rdev, pi->graphics_boot_level); - } -} - //XXX use sumo_dpm_display_configuration_changed static void kv_construct_max_power_limits_table(struct radeon_device *rdev, -- 1.7.10.4
[PATCH] drm: gma500: psb_irq: Remove unused function
Remove the function mid_pipe_vsync() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/gma500/psb_irq.c | 12 1 file changed, 12 deletions(-) diff --git a/drivers/gpu/drm/gma500/psb_irq.c b/drivers/gpu/drm/gma500/psb_irq.c index 624eb36..dcfd0a7 100644 --- a/drivers/gpu/drm/gma500/psb_irq.c +++ b/drivers/gpu/drm/gma500/psb_irq.c @@ -59,18 +59,6 @@ mid_pipe_event(int pipe) } static inline u32 -mid_pipe_vsync(int pipe) -{ - if (pipe == 0) - return _PSB_VSYNC_PIPEA_FLAG; - if (pipe == 1) - return _PSB_VSYNC_PIPEB_FLAG; - if (pipe == 2) - return _MDFLD_PIPEC_VBLANK_FLAG; - BUG(); -} - -static inline u32 mid_pipeconf(int pipe) { if (pipe == 0) -- 1.7.10.4
[PATCH] drm: nouveau: core: engine: perfmon: base: Remove unused function
Hi Rickard, Thanks for submitting this patch, but I already submitted the same a few weeks ago. :-) This function will be removed when I will submit my work on this area. Greetings, Samuel Pitoiset. On 01/11/2015 07:12 PM, Rickard Strandqvist wrote: > Remove the function nouveau_perfsig_wrap() that is not used anywhere. > > This was partially found by using a static code analysis program called > cppcheck. > > Signed-off-by: Rickard Strandqvist > --- > drivers/gpu/drm/nouveau/core/engine/perfmon/base.c | 20 > > drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h |5 - > 2 files changed, 25 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c > b/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c > index 6301381..d0c5255 100644 > --- a/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c > +++ b/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c > @@ -80,26 +80,6 @@ nouveau_perfsig_find(struct nouveau_perfmon *ppm, const > char *name, u32 size, > return nouveau_perfsig_find_(dom, name, size); > } > > -struct nouveau_perfctr * > -nouveau_perfsig_wrap(struct nouveau_perfmon *ppm, const char *name, > - struct nouveau_perfdom **pdom) > -{ > - struct nouveau_perfsig *sig; > - struct nouveau_perfctr *ctr; > - > - sig = nouveau_perfsig_find(ppm, name, strlen(name), pdom); > - if (!sig) > - return NULL; > - > - ctr = kzalloc(sizeof(*ctr), GFP_KERNEL); > - if (ctr) { > - ctr->signal[0] = sig; > - ctr->logic_op = 0x; > - } > - > - return ctr; > -} > - > > /*** >* Perfmon object classes > > **/ > diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h > b/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h > index 0ac8714..1a0989e 100644 > --- a/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h > +++ b/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h > @@ -30,11 +30,6 @@ struct nouveau_perfsig { > const char *name; > }; > > -struct nouveau_perfdom; > -struct nouveau_perfctr * > -nouveau_perfsig_wrap(struct nouveau_perfmon *, const char *, > - struct nouveau_perfdom **); > - > struct nouveau_specdom { > u16 signal_nr; > const struct nouveau_specsig *signal;
[PATCH] drm/nouveau/nouveau_bo: Remove unused function
Remove the function nouveau_bo_rd16() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/gpu/drm/nouveau/nouveau_bo.c | 12 drivers/gpu/drm/nouveau/nouveau_bo.h |1 - 2 files changed, 13 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index 3d474ac..7cde2e0 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -418,18 +418,6 @@ nouveau_bo_validate(struct nouveau_bo *nvbo, bool interruptible, return 0; } -u16 -nouveau_bo_rd16(struct nouveau_bo *nvbo, unsigned index) -{ - bool is_iomem; - u16 *mem = ttm_kmap_obj_virtual(&nvbo->kmap, &is_iomem); - mem = &mem[index]; - if (is_iomem) - return ioread16_native((void __force __iomem *)mem); - else - return *mem; -} - void nouveau_bo_wr16(struct nouveau_bo *nvbo, unsigned index, u16 val) { diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.h b/drivers/gpu/drm/nouveau/nouveau_bo.h index 22d2c76..82aaebd 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.h +++ b/drivers/gpu/drm/nouveau/nouveau_bo.h @@ -77,7 +77,6 @@ int nouveau_bo_unpin(struct nouveau_bo *); int nouveau_bo_map(struct nouveau_bo *); void nouveau_bo_unmap(struct nouveau_bo *); void nouveau_bo_placement_set(struct nouveau_bo *, u32 type, u32 busy); -u16 nouveau_bo_rd16(struct nouveau_bo *, unsigned index); void nouveau_bo_wr16(struct nouveau_bo *, unsigned index, u16 val); u32 nouveau_bo_rd32(struct nouveau_bo *, unsigned index); void nouveau_bo_wr32(struct nouveau_bo *, unsigned index, u32 val); -- 1.7.10.4