1. 17 6月, 2017 1 次提交
  2. 15 6月, 2017 3 次提交
  3. 09 6月, 2017 1 次提交
  4. 07 6月, 2017 4 次提交
  5. 02 6月, 2017 1 次提交
  6. 01 6月, 2017 2 次提交
    • A
      drm/amdgpu: implement lru amdgpu_queue_mgr policy for compute v4 · 795f2813
      Andres Rodriguez 提交于
      Use an LRU policy to map usermode rings to HW compute queues.
      
      Most compute clients use one queue, and usually the first queue
      available. This results in poor pipe/queue work distribution when
      multiple compute apps are running. In most cases pipe 0 queue 0 is
      the only queue that gets used.
      
      In order to better distribute work across multiple HW queues, we adopt
      a policy to map the usermode ring ids to the LRU HW queue.
      
      This fixes a large majority of multi-app compute workloads sharing the
      same HW queue, even though 7 other queues are available.
      
      v2: use ring->funcs->type instead of ring->hw_ip
      v3: remove amdgpu_queue_mapper_funcs
      v4: change ring_lru_list_lock to spinlock, grab only once in lru_get()
      Signed-off-by: NAndres Rodriguez <andresx7@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      795f2813
    • S
      drm/amdgpu: optimize amdgpu driver load & resume time · 2dc80b00
      Shirish S 提交于
      amdgpu_device_resume() & amdgpu_device_init() have a high
      time consuming call of amdgpu_late_init() which sets the
      clock_gating state of all IP blocks and is blocking.
      This patch defers only this setting of clock gating state
      operation to post resume of amdgpu driver but ideally before
      the UI comes up or in some cases post ui as well.
      
      With this change the resume time of amdgpu_device comes down
      from 1.299s to 0.199s which further helps in reducing the overall
      system resume time.
      
      V1: made the optimization applicable during driver load as well.
      
      TEST:(For ChromiumOS on STONEY only)
      * UI comes up
      * amdgpu_late_init() call gets called consistently and no errors reported.
      Signed-off-by: NShirish S <shirish.s@amd.com>
      Reviewed-by: NHuang Rui <ray.huang@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      2dc80b00
  7. 25 5月, 2017 15 次提交
  8. 06 5月, 2017 2 次提交
  9. 29 4月, 2017 10 次提交
    • R
    • A
      drm/amdgpu: Fix use of interruptible waiting · 1d284797
      Alex Xie 提交于
      1. The signal interrupt can affect the expected behaviour.
      2. There is no good mechanism to handle the corresponding error.
      Signed-off-by: NAlex Xie <AlexBin.Xie@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      1d284797
    • A
      drm/amdgpu: Fix use of interruptible waiting · 7a6901d7
      Alex Xie 提交于
      1. The signal interrupt can affect the expected behaviour.
      2. There is no mechanism to handle the corresponding error.
      Signed-off-by: NAlex Xie <AlexBin.Xie@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      7a6901d7
    • A
      drm/amdgpu: Fix use of interruptible waiting · 8ab25b4f
      Alex Xie 提交于
      If amdgpu_bo_reserve function is interrupted by signal,
      amdgpu_bo_kunmap function is not called.
      Signed-off-by: NAlex Xie <AlexBin.Xie@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      8ab25b4f
    • C
      drm/amdgpu: fix gpu reset crash · 51687759
      Chunming Zhou 提交于
      [  413.687439] BUG: unable to handle kernel NULL pointer dereference at 0000000000000548
      [  413.687479] IP: [<ffffffff8109b175>] to_live_kthread+0x5/0x60
      [  413.687507] PGD 1efd12067
      [  413.687519] PUD 1efd11067
      [  413.687531] PMD 0
      
      [  413.687543] Oops: 0000 [#1] SMP
      [  413.687557] Modules linked in: amdgpu(OE) ttm(OE) drm_kms_helper(E) drm(E) i2c_algo_bit(E) fb_sys_fops(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) rpcsec_gss_krb5(E) nfsv4(E) nfs(E) fscache(E) snd_hda_codec_realtek(E) snd_hda_codec_generic(E) snd_hda_codec_hdmi(E) snd_hda_intel(E) eeepc_wmi(E) snd_hda_codec(E) asus_wmi(E) snd_hda_core(E) sparse_keymap(E) snd_hwdep(E) video(E) snd_pcm(E) snd_seq_midi(E) joydev(E) snd_seq_midi_event(E) snd_rawmidi(E) snd_seq(E) snd_seq_device(E) snd_timer(E) kvm(E) irqbypass(E) crct10dif_pclmul(E) snd(E) crc32_pclmul(E) ghash_clmulni_intel(E) soundcore(E) aesni_intel(E) aes_x86_64(E) lrw(E) gf128mul(E) glue_helper(E) ablk_helper(E) cryptd(E) shpchp(E) serio_raw(E) i2c_piix4(E) 8250_dw(E) i2c_designware_platform(E) i2c_designware_core(E) mac_hid(E) binfmt_misc(E)
      [  413.687894]  parport_pc(E) ppdev(E) lp(E) parport(E) nfsd(E) auth_rpcgss(E) nfs_acl(E) lockd(E) grace(E) sunrpc(E) autofs4(E) hid_generic(E) usbhid(E) hid(E) psmouse(E) ahci(E) r8169(E) mii(E) libahci(E) wmi(E)
      [  413.687989] CPU: 13 PID: 1134 Comm: kworker/13:2 Tainted: G           OE   4.9.0-custom #4
      [  413.688019] Hardware name: System manufacturer System Product Name/PRIME B350-PLUS, BIOS 0606 04/06/2017
      [  413.688089] Workqueue: events amd_sched_job_timedout [amdgpu]
      [  413.688116] task: ffff88020f9657c0 task.stack: ffffc90001a88000
      [  413.688139] RIP: 0010:[<ffffffff8109b175>]  [<ffffffff8109b175>] to_live_kthread+0x5/0x60
      [  413.688171] RSP: 0018:ffffc90001a8bd60  EFLAGS: 00010282
      [  413.688191] RAX: ffff88020f0073f8 RBX: ffff88020f000000 RCX: 0000000000000000
      [  413.688217] RDX: 0000000000000001 RSI: ffff88020f9670c0 RDI: 0000000000000000
      [  413.688243] RBP: ffffc90001a8bd78 R08: 0000000000000000 R09: 0000000000001000
      [  413.688269] R10: 0000006051b11a82 R11: 0000000000000001 R12: 0000000000000000
      [  413.688295] R13: ffff88020f002770 R14: ffff88020f004838 R15: ffff8801b23c2c60
      [  413.688321] FS:  0000000000000000(0000) GS:ffff88021ef40000(0000) knlGS:0000000000000000
      [  413.688352] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  413.688373] CR2: 0000000000000548 CR3: 00000001efd0f000 CR4: 00000000003406e0
      [  413.688399] Stack:
      [  413.688407]  ffffffff8109b304 ffff88020f000000 0000000000000070 ffffc90001a8bdf0
      [  413.688439]  ffffffffa05ce29d ffffffffa052feb7 ffffffffa07b5820 ffffc90001a8bda0
      [  413.688470]  ffffffff00000018 ffff8801bb88f060 0000000001a8bdb8 ffff88021ef59280
      [  413.688502] Call Trace:
      [  413.688514]  [<ffffffff8109b304>] ? kthread_park+0x14/0x60
      [  413.688555]  [<ffffffffa05ce29d>] amdgpu_gpu_reset+0x7d/0x670 [amdgpu]
      [  413.688589]  [<ffffffffa052feb7>] ? drm_printk+0x97/0xa0 [drm]
      [  413.688643]  [<ffffffffa0698136>] amdgpu_job_timedout+0x46/0x50 [amdgpu]
      [  413.688700]  [<ffffffffa06969e7>] amd_sched_job_timedout+0x17/0x20 [amdgpu]
      [  413.688727]  [<ffffffff81095493>] process_one_work+0x153/0x3f0
      [  413.688751]  [<ffffffff81095c5b>] worker_thread+0x12b/0x4b0
      [  413.688773]  [<ffffffff8100392e>] ? do_syscall_64+0x6e/0x180
      [  413.688795]  [<ffffffff81095b30>] ? rescuer_thread+0x350/0x350
      [  413.688818]  [<ffffffff8100392e>] ? do_syscall_64+0x6e/0x180
      [  413.688839]  [<ffffffff8109b423>] kthread+0xd3/0xf0
      [  413.688858]  [<ffffffff8109b350>] ? kthread_park+0x60/0x60
      [  413.688881]  [<ffffffff817e1ee5>] ret_from_fork+0x25/0x30
      [  413.688901] Code: 25 40 d3 00 00 48 8b 80 48 05 00 00 48 89 e5 5d 48 8b 40 c8 48 c1 e8 02 83 e0 01 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 <48> 8b b7 48 05 00 00 55 48 89 e5 48 85 f6 74 31 8b 97 f8 18 00
      [  413.689045] RIP  [<ffffffff8109b175>] to_live_kthread+0x5/0x60
      [  413.689064]  RSP <ffffc90001a8bd60>
      [  413.689076] CR2: 0000000000000548
      [  413.697985] ---[ end trace 0a314a64821f84e9 ]---
      
      The root cause is some ring doesn't have scheduler, like KIQ ring
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NChunming Zhou <David1.Zhou@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      51687759
    • R
      drm/amdgpu: fix indent · 23d2e504
      Roger.He 提交于
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NRoger.He <Hongbo.He@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      23d2e504
    • A
      Revert "drm/amd/amdgpu: Set VCE/UVD off during late init" · 7ad87b96
      Alex Deucher 提交于
      This leads to hangs on init.
      
      This reverts commit d1aff8ec.
      7ad87b96
    • C
      drm/amdgpu: fix coding style and printing in amdgpu_doorbell_init · 8972e5d2
      Christian König 提交于
      Based on commit "drm/radeon: remove useless and potentially wrong message".
      
      The size of the info printing is incorrect and the PCI subsystems prints
      the same info on boot anyway.
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NEdward O'Callaghan <funfunctor@folklore1984.net>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      8972e5d2
    • H
      drm/amdgpu: fix dead lock if any ip block resume failed in s3 · 03161a6e
      Huang Rui 提交于
      Driver must free the console lock whether driver resuming successful
      or not. Otherwise, fb_console will be always waiting for the lock and
      then cause system stuck.
      
      [  244.405541] INFO: task kworker/0:0:4 blocked for more than 120 seconds.
      [  244.405543]       Tainted: G           OE   4.9.0-custom #1
      [  244.405544] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      [  244.405541] INFO: task kworker/0:0:4 blocked for more than 120 seconds.
      [  244.405543]       Tainted: G           OE   4.9.0-custom #1
      [  244.405544] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      [  244.405550] kworker/0:0     D    0     4      2 0x00080000
      [  244.405559] Workqueue: events console_callback
      [  244.405564]  ffff88045a2cfc00 0000000000000000 ffff880462b75940 ffffffff81c0e500
      [  244.405568]  ffff880476419280 ffffc900018f7c90 ffffffff817dcf62 000000000000003c
      [  244.405572]  0000000100000000 0000000000000002 ffff880462b75940 ffff880462b75940
      [  244.405573] Call Trace:
      [  244.405580]  [<ffffffff817dcf62>] ? __schedule+0x222/0x6a0
      [  244.405584]  [<ffffffff817dd416>] schedule+0x36/0x80
      [  244.405588]  [<ffffffff817e041c>] schedule_timeout+0x1fc/0x390
      [  244.405592]  [<ffffffff817df1b4>] __down_common+0xa5/0xf8
      [  244.405598]  [<ffffffff810b2ca8>] ? put_prev_entity+0x48/0x710
      [  244.405601]  [<ffffffff817df224>] __down+0x1d/0x1f
      [  244.405606]  [<ffffffff810c71a1>] down+0x41/0x50
      [  244.405611]  [<ffffffff810d380a>] console_lock+0x1a/0x40
      [  244.405614]  [<ffffffff814e3c03>] console_callback+0x13/0x160
      [  244.405617]  [<ffffffff817dcf6a>] ? __schedule+0x22a/0x6a0
      [  244.405623]  [<ffffffff810954e3>] process_one_work+0x153/0x3f0
      [  244.405628]  [<ffffffff81095cab>] worker_thread+0x12b/0x4b0
      [  244.405633]  [<ffffffff81095b80>] ? rescuer_thread+0x350/0x350
      [  244.405637]  [<ffffffff8109b473>] kthread+0xd3/0xf0
      [  244.405641]  [<ffffffff8109b3a0>] ? kthread_park+0x60/0x60
      [  244.405645]  [<ffffffff8109b3a0>] ? kthread_park+0x60/0x60
      [  244.405649]  [<ffffffff817e1ee5>] ret_from_fork+0x25/0x30
      Signed-off-by: NHuang Rui <ray.huang@amd.com>
      Reviewed-by: NMichel Dänzer <michel.daenzer@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      03161a6e
    • C
      drm/amdgpu: split VMID management by VMHUB · 7645670d
      Christian König 提交于
      This way GFX and MM won't fight for VMIDs any more.
      
      Initially disabled since we need to stop flushing all HUBS
      at the same time as well.
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NAndres Rodriguez <andresx7@gmail.com>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      7645670d
  10. 08 4月, 2017 1 次提交