[PATCH] drm/amdkfd: Consolidate duplicated bo alloc flags

2020-03-06 Thread Yong Zhao
ALLOC_MEM_FLAGS_* used are the same as the KFD_IOC_ALLOC_MEM_FLAGS_*,
but they are interweavedly used in kernel driver, resulting in bad
readability. For example, KFD_IOC_ALLOC_MEM_FLAGS_COHERENT is not
referenced in kernel, and it functions implicitly in kernel through
ALLOC_MEM_FLAGS_COHERENT, causing unnecessary confusion.

Replace all occurrences of ALLOC_MEM_FLAGS_* with
KFD_IOC_ALLOC_MEM_FLAGS_* to solve the problem.

Change-Id: Iced6ed3698167296c97b14e7e4569883859d619c
Signed-off-by: Yong Zhao 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c|  6 ++--
 .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c  | 29 ++-
 drivers/gpu/drm/amd/amdkfd/kfd_process.c  | 13 +
 .../gpu/drm/amd/include/kgd_kfd_interface.h   | 21 --
 4 files changed, 27 insertions(+), 42 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index 726c91ab6761..abfbe89e805e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -29,6 +29,7 @@
 #include 
 #include 
 #include "amdgpu_xgmi.h"
+#include 
 
 static const unsigned int compute_vmid_bitmap = 0xFF00;
 
@@ -501,10 +502,11 @@ int amdgpu_amdkfd_get_dmabuf_info(struct kgd_dev *kgd, 
int dma_buf_fd,
   metadata_size, _flags);
if (flags) {
*flags = (bo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM) ?
-   ALLOC_MEM_FLAGS_VRAM : ALLOC_MEM_FLAGS_GTT;
+   KFD_IOC_ALLOC_MEM_FLAGS_VRAM
+   : KFD_IOC_ALLOC_MEM_FLAGS_GTT;
 
if (bo->flags & AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED)
-   *flags |= ALLOC_MEM_FLAGS_PUBLIC;
+   *flags |= KFD_IOC_ALLOC_MEM_FLAGS_PUBLIC;
}
 
 out_put:
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index e4481caed648..9dff792c9290 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -29,6 +29,7 @@
 #include "amdgpu_vm.h"
 #include "amdgpu_amdkfd.h"
 #include "amdgpu_dma_buf.h"
+#include 
 
 /* BO flag to indicate a KFD userptr BO */
 #define AMDGPU_AMDKFD_USERPTR_BO (1ULL << 63)
@@ -400,18 +401,18 @@ static int vm_update_pds(struct amdgpu_vm *vm, struct 
amdgpu_sync *sync)
 static uint64_t get_pte_flags(struct amdgpu_device *adev, struct kgd_mem *mem)
 {
struct amdgpu_device *bo_adev = amdgpu_ttm_adev(mem->bo->tbo.bdev);
-   bool coherent = mem->alloc_flags & ALLOC_MEM_FLAGS_COHERENT;
+   bool coherent = mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_COHERENT;
uint32_t mapping_flags;
 
mapping_flags = AMDGPU_VM_PAGE_READABLE;
-   if (mem->alloc_flags & ALLOC_MEM_FLAGS_WRITABLE)
+   if (mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE)
mapping_flags |= AMDGPU_VM_PAGE_WRITEABLE;
-   if (mem->alloc_flags & ALLOC_MEM_FLAGS_EXECUTABLE)
+   if (mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE)
mapping_flags |= AMDGPU_VM_PAGE_EXECUTABLE;
 
switch (adev->asic_type) {
case CHIP_ARCTURUS:
-   if (mem->alloc_flags & ALLOC_MEM_FLAGS_VRAM) {
+   if (mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_VRAM) {
if (bo_adev == adev)
mapping_flags |= coherent ?
AMDGPU_VM_MTYPE_CC : AMDGPU_VM_MTYPE_RW;
@@ -1160,24 +1161,24 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
/*
 * Check on which domain to allocate BO
 */
-   if (flags & ALLOC_MEM_FLAGS_VRAM) {
+   if (flags & KFD_IOC_ALLOC_MEM_FLAGS_VRAM) {
domain = alloc_domain = AMDGPU_GEM_DOMAIN_VRAM;
alloc_flags = AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE;
-   alloc_flags |= (flags & ALLOC_MEM_FLAGS_PUBLIC) ?
+   alloc_flags |= (flags & KFD_IOC_ALLOC_MEM_FLAGS_PUBLIC) ?
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED :
AMDGPU_GEM_CREATE_NO_CPU_ACCESS;
-   } else if (flags & ALLOC_MEM_FLAGS_GTT) {
+   } else if (flags & KFD_IOC_ALLOC_MEM_FLAGS_GTT) {
domain = alloc_domain = AMDGPU_GEM_DOMAIN_GTT;
alloc_flags = 0;
-   } else if (flags & ALLOC_MEM_FLAGS_USERPTR) {
+   } else if (flags & KFD_IOC_ALLOC_MEM_FLAGS_USERPTR) {
domain = AMDGPU_GEM_DOMAIN_GTT;
alloc_domain = AMDGPU_GEM_DOMAIN_CPU;
alloc_flags = 0;
if (!offset || !*offset)
return -EINVAL;
user_addr = untagged_addr(*offset);
-   } else if (flags & (ALLOC_MEM_FLAGS_DOORBELL |
-   ALLOC_MEM_FLAGS_MMIO_REMAP)) {
+   } else if (flags & (KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL |
+   

Re: [PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN

2020-03-06 Thread Lyude Paul
final correction: I probably could actually get rid of this patch and do this
a bit more nicely by just making sure that we reprobe path resources for
connectors while under drm_dp_mst_topology_mgr->base.lock on CSNs, instead of
punting it off to the link address work like we seem to be doing. So, going to
try doing that instead.

On Fri, 2020-03-06 at 15:03 -0500, Lyude Paul wrote:
> On Thu, 2020-03-05 at 20:29 +0200, Ville Syrjälä wrote:
> > On Thu, Mar 05, 2020 at 01:13:36PM -0500, Lyude Paul wrote:
> > > On Thu, 2020-03-05 at 15:11 +0200, Ville Syrjälä wrote:
> > > > On Wed, Mar 04, 2020 at 05:36:12PM -0500, Lyude Paul wrote:
> > > > > It's next to impossible for us to do connector probing on topologies
> > > > > without occasionally racing with userspace, since creating a
> > > > > connector
> > > > > itself causes a hotplug event which we have to send before probing
> > > > > the
> > > > > available PBN of a connector. Even if we didn't have this hotplug
> > > > > event
> > > > > sent, there's still always a chance that userspace started probing
> > > > > connectors before we finished probing the topology.
> > > > > 
> > > > > This can be a problem when validating a new MST state since the
> > > > > connector will be shown as connected briefly, but without any
> > > > > available
> > > > > PBN - causing any atomic state which would enable said connector to
> > > > > fail
> > > > > with -ENOSPC. So, let's simply workaround this by telling userspace
> > > > > new
> > > > > MST connectors are disconnected until we've finished probing their
> > > > > PBN.
> > > > > Since we always send a hotplug event at the end of the link address
> > > > > probing process, userspace will still know to reprobe the connector
> > > > > when
> > > > > we're ready.
> > > > > 
> > > > > Signed-off-by: Lyude Paul 
> > > > > Fixes: cd82d82cbc04 ("drm/dp_mst: Add branch bandwidth validation to
> > > > > MST
> > > > > atomic check")
> > > > > Cc: Mikita Lipski 
> > > > > Cc: Alex Deucher 
> > > > > Cc: Sean Paul 
> > > > > Cc: Hans de Goede 
> > > > > ---
> > > > >  drivers/gpu/drm/drm_dp_mst_topology.c | 13 +
> > > > >  1 file changed, 13 insertions(+)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c
> > > > > b/drivers/gpu/drm/drm_dp_mst_topology.c
> > > > > index 207eef08d12c..7b0ff0cff954 100644
> > > > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> > > > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> > > > > @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector
> > > > > *connector,
> > > > >   ret = connector_status_connected;
> > > > >   break;
> > > > >   }
> > > > > +
> > > > > + /* We don't want to tell userspace the port is actually
> > > > > plugged into
> > > > > +  * anything until we've finished probing it's available_pbn,
> > > > > otherwise
> > > > 
> > > > "its"
> > > > 
> > > > Why is the connector even registered before we've finished the probe?
> > > > 
> > > Oops, I'm not sure how I did this by accident but the explanation I gave
> > > in
> > > the commit message was uh, completely wrong. I must have forgotten that
> > > I
> > > made
> > > sure we didn't expose connectors before probing their PBN back when I
> > > started
> > > my MST cleanup
> > > 
> > > So: despite what I said before it's not actually when new connectors are
> > > created, it's when downstream hotplugs happen which means that the
> > > conenctor's
> > > always going to be there before we probe the available_pbn.
> > 
> > Not sure I understand. You're saying this is going to change for already
> > existing connectors when something else gets plugged in, and either we
> > zero it out during the probe or it always was zero to begin with for
> > whatever reason?
> 
> ok-me and Sean Paul did some playing around with available_pbn and full_pbn
> (I'll get into this one in a moment), and I also played around with a couple
> of different hubs and have a much better understanding of how this should
> work
> now.
> 
> So: first off tl;dr available_pbn is absolutely not what we want in
> basically
> any scenario, we actually want to use the full_pbn field that we get when
> sending ENUM_PATH_RESOURCES. Second, full_pbn represents the _smallest_
> bandwidth limitation encountered in the path between the root MSTB and each
> connected sink. Remember that there's technically a DisplayPort link trained
> between each branch device going down the topology, so that bandwidth
> limitation basically equates to "what is the lowest trained link rate that
> exists down the path to this port?". This also means that full_pbn will
> potentially change every time a new connector is plugged in, as some hubs
> will be clever and optimize the link rate they decide to use. Likewise,
> since there's not going to be anything trained on a disconnected port (e.g.
> ddps=0) there's no point in keeping full_pbn around for disconnected ports,
> since otherwise we might let 

Re: [PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN

2020-03-06 Thread Lyude Paul
On Thu, 2020-03-05 at 20:29 +0200, Ville Syrjälä wrote:
> On Thu, Mar 05, 2020 at 01:13:36PM -0500, Lyude Paul wrote:
> > On Thu, 2020-03-05 at 15:11 +0200, Ville Syrjälä wrote:
> > > On Wed, Mar 04, 2020 at 05:36:12PM -0500, Lyude Paul wrote:
> > > > It's next to impossible for us to do connector probing on topologies
> > > > without occasionally racing with userspace, since creating a connector
> > > > itself causes a hotplug event which we have to send before probing the
> > > > available PBN of a connector. Even if we didn't have this hotplug
> > > > event
> > > > sent, there's still always a chance that userspace started probing
> > > > connectors before we finished probing the topology.
> > > > 
> > > > This can be a problem when validating a new MST state since the
> > > > connector will be shown as connected briefly, but without any
> > > > available
> > > > PBN - causing any atomic state which would enable said connector to
> > > > fail
> > > > with -ENOSPC. So, let's simply workaround this by telling userspace
> > > > new
> > > > MST connectors are disconnected until we've finished probing their
> > > > PBN.
> > > > Since we always send a hotplug event at the end of the link address
> > > > probing process, userspace will still know to reprobe the connector
> > > > when
> > > > we're ready.
> > > > 
> > > > Signed-off-by: Lyude Paul 
> > > > Fixes: cd82d82cbc04 ("drm/dp_mst: Add branch bandwidth validation to
> > > > MST
> > > > atomic check")
> > > > Cc: Mikita Lipski 
> > > > Cc: Alex Deucher 
> > > > Cc: Sean Paul 
> > > > Cc: Hans de Goede 
> > > > ---
> > > >  drivers/gpu/drm/drm_dp_mst_topology.c | 13 +
> > > >  1 file changed, 13 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c
> > > > b/drivers/gpu/drm/drm_dp_mst_topology.c
> > > > index 207eef08d12c..7b0ff0cff954 100644
> > > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> > > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> > > > @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector
> > > > *connector,
> > > > ret = connector_status_connected;
> > > > break;
> > > > }
> > > > +
> > > > +   /* We don't want to tell userspace the port is actually
> > > > plugged into
> > > > +* anything until we've finished probing it's available_pbn,
> > > > otherwise
> > > 
> > > "its"
> > > 
> > > Why is the connector even registered before we've finished the probe?
> > > 
> > Oops, I'm not sure how I did this by accident but the explanation I gave
> > in
> > the commit message was uh, completely wrong. I must have forgotten that I
> > made
> > sure we didn't expose connectors before probing their PBN back when I
> > started
> > my MST cleanup
> > 
> > So: despite what I said before it's not actually when new connectors are
> > created, it's when downstream hotplugs happen which means that the
> > conenctor's
> > always going to be there before we probe the available_pbn.
> 
> Not sure I understand. You're saying this is going to change for already
> existing connectors when something else gets plugged in, and either we
> zero it out during the probe or it always was zero to begin with for
> whatever reason?

ok-me and Sean Paul did some playing around with available_pbn and full_pbn
(I'll get into this one in a moment), and I also played around with a couple
of different hubs and have a much better understanding of how this should work
now.

So: first off tl;dr available_pbn is absolutely not what we want in basically
any scenario, we actually want to use the full_pbn field that we get when
sending ENUM_PATH_RESOURCES. Second, full_pbn represents the _smallest_ 
bandwidth limitation encountered in the path between the root MSTB and each 
connected sink. Remember that there's technically a DisplayPort link trained 
between each branch device going down the topology, so that bandwidth 
limitation basically equates to "what is the lowest trained link rate that 
exists down the path to this port?". This also means that full_pbn will 
potentially change every time a new connector is plugged in, as some hubs will 
be clever and optimize the link rate they decide to use. Likewise, since 
there's not going to be anything trained on a disconnected port (e.g. ddps=0) 
there's no point in keeping full_pbn around for disconnected ports, since 
otherwise we might let userspace see a connected port with a stale full_pbn 
value.

So-IMHO the behavior of not letting connectors show as connected until we also
have their full_pbn probed should definitely be the right solution here.
Especially if we want to eventually start pruning modes based on full_pbn at
some point in the future.

> 
> > I did just notice
> > though that we send a hotplug on connection status notifications even
> > before
> > we've finished the PBN probe, so I might be able to improve on that as
> > well.
> > We still definitely want to report the connector as disconnected before 

Re: [PATCH] Corrected the core clock speed for AMD HAINAN

2020-03-06 Thread Alex Deucher
Please send a proper patch using git format-patch.  Have you actually
tested this patch?  Can you provide the details of your specific
board?  The reason the clock as forced lower was due to stability
issues with the higher clocks on most HAINAN boards.  If it's working
for you, I'd suggest just removing your specific board from that
override check.

Alex

On Fri, Mar 6, 2020 at 3:03 AM Yassine Oudjana  wrote:
>
> Empty Message
> ___
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[PATCH] drm/amd/powerplay: bump the NAVI10 smu-driver if version

2020-03-06 Thread Evan Quan
To fit the latest SMC firmware 53.27 and eliminate the
warning on driver loading.

Change-Id: I3f524d03e53ec6778b7118ef72652a538eec4ace
Signed-off-by: Evan Quan 
---
 drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h 
b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h
index 3dc25a14ccc3..c030feb160f7 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h
@@ -28,7 +28,7 @@
 #define SMU11_DRIVER_IF_VERSION_INV 0x
 #define SMU11_DRIVER_IF_VERSION_VG20 0x13
 #define SMU11_DRIVER_IF_VERSION_ARCT 0x12
-#define SMU11_DRIVER_IF_VERSION_NV10 0x35
+#define SMU11_DRIVER_IF_VERSION_NV10 0x36
 #define SMU11_DRIVER_IF_VERSION_NV14 0x36
 
 /* MP Apertures */
-- 
2.25.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[PATCH] drm/amd/powerplay: revise the way to retrieve the board parameters

2020-03-06 Thread Evan Quan
It can support different NV1x ASIC better. And this can guard
no member got missing.

Change-Id: Id5e6608f6be1b31ef1c0a5c1d399da295524ff43
Signed-off-by: Evan Quan 
---
 drivers/gpu/drm/amd/include/atomfirmware.h | 102 +
 drivers/gpu/drm/amd/powerplay/navi10_ppt.c |  99 ++--
 2 files changed, 130 insertions(+), 71 deletions(-)

diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h 
b/drivers/gpu/drm/amd/include/atomfirmware.h
index 70146518174c..a6f6e6bf5992 100644
--- a/drivers/gpu/drm/amd/include/atomfirmware.h
+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
@@ -1876,6 +1876,108 @@ struct atom_smc_dpm_info_v4_6
   uint32_t   boardreserved[10];
 };
 
+struct atom_smc_dpm_info_v4_7
+{
+  struct   atom_common_table_header  table_header;
+// SECTION: BOARD PARAMETERS
+// I2C Control
+  struct smudpm_i2c_controller_config_v2  I2cControllers[8];
+
+  // SVI2 Board Parameters
+  uint16_t MaxVoltageStepGfx; // In mV(Q2) Max voltage step that SMU will 
request. Multiple steps are taken if voltage change exceeds this value.
+  uint16_t MaxVoltageStepSoc; // In mV(Q2) Max voltage step that SMU will 
request. Multiple steps are taken if voltage change exceeds this value.
+
+  uint8_t  VddGfxVrMapping;   // Use VR_MAPPING* bitfields
+  uint8_t  VddSocVrMapping;   // Use VR_MAPPING* bitfields
+  uint8_t  VddMem0VrMapping;  // Use VR_MAPPING* bitfields
+  uint8_t  VddMem1VrMapping;  // Use VR_MAPPING* bitfields
+
+  uint8_t  GfxUlvPhaseSheddingMask; // set this to 1 to set PSI0/1 to 1 in 
ULV mode
+  uint8_t  SocUlvPhaseSheddingMask; // set this to 1 to set PSI0/1 to 1 in 
ULV mode
+  uint8_t  ExternalSensorPresent; // External RDI connected to TMON (aka 
TEMP IN)
+  uint8_t  Padding8_V;
+
+  // Telemetry Settings
+  uint16_t GfxMaxCurrent;   // in Amps
+  uint8_t  GfxOffset;   // in Amps
+  uint8_t  Padding_TelemetryGfx;
+  uint16_t SocMaxCurrent;   // in Amps
+  uint8_t  SocOffset;   // in Amps
+  uint8_t  Padding_TelemetrySoc;
+
+  uint16_t Mem0MaxCurrent;   // in Amps
+  uint8_t  Mem0Offset;   // in Amps
+  uint8_t  Padding_TelemetryMem0;
+
+  uint16_t Mem1MaxCurrent;   // in Amps
+  uint8_t  Mem1Offset;   // in Amps
+  uint8_t  Padding_TelemetryMem1;
+
+  // GPIO Settings
+  uint8_t  AcDcGpio;// GPIO pin configured for AC/DC switching
+  uint8_t  AcDcPolarity;// GPIO polarity for AC/DC switching
+  uint8_t  VR0HotGpio;  // GPIO pin configured for VR0 HOT event
+  uint8_t  VR0HotPolarity;  // GPIO polarity for VR0 HOT event
+
+  uint8_t  VR1HotGpio;  // GPIO pin configured for VR1 HOT event
+  uint8_t  VR1HotPolarity;  // GPIO polarity for VR1 HOT event
+  uint8_t  GthrGpio;// GPIO pin configured for GTHR Event
+  uint8_t  GthrPolarity;// replace GPIO polarity for GTHR
+
+  // LED Display Settings
+  uint8_t  LedPin0; // GPIO number for LedPin[0]
+  uint8_t  LedPin1; // GPIO number for LedPin[1]
+  uint8_t  LedPin2; // GPIO number for LedPin[2]
+  uint8_t  padding8_4;
+
+  // GFXCLK PLL Spread Spectrum
+  uint8_t  PllGfxclkSpreadEnabled;   // on or off
+  uint8_t  PllGfxclkSpreadPercent;   // Q4.4
+  uint16_t PllGfxclkSpreadFreq;  // kHz
+
+  // GFXCLK DFLL Spread Spectrum
+  uint8_t  DfllGfxclkSpreadEnabled;   // on or off
+  uint8_t  DfllGfxclkSpreadPercent;   // Q4.4
+  uint16_t DfllGfxclkSpreadFreq;  // kHz
+
+  // UCLK Spread Spectrum
+  uint8_t  UclkSpreadEnabled;   // on or off
+  uint8_t  UclkSpreadPercent;   // Q4.4
+  uint16_t UclkSpreadFreq;  // kHz
+
+  // SOCCLK Spread Spectrum
+  uint8_t  SoclkSpreadEnabled;   // on or off
+  uint8_t  SocclkSpreadPercent;   // Q4.4
+  uint16_t SocclkSpreadFreq;  // kHz
+
+  // Total board power
+  uint16_t TotalBoardPower; //Only needed for TCP Estimated case, 
where TCP = TGP+Total Board Power
+  uint16_t BoardPadding;
+
+  // Mvdd Svi2 Div Ratio Setting
+  uint32_t MvddRatio; // This is used for MVDD Vid workaround. It has 16 
fractional bits (Q16.16)
+
+  // GPIO pins for I2C communications with 2nd controller for Input Telemetry 
Sequence
+  uint8_t  GpioI2cScl;  // Serial Clock
+  uint8_t  GpioI2cSda;  // Serial Data
+  uint16_t GpioPadding;
+
+  // Additional LED Display Settings
+  uint8_t  LedPin3; // GPIO number for LedPin[3] - PCIE GEN Speed
+  uint8_t  LedPin4; // GPIO number for LedPin[4] - PMFW Error 
Status
+  uint16_t LedEnableMask;
+
+  // Power Limit Scalars
+  uint8_t  PowerLimitScalar[4];//[PPT_THROTTLER_COUNT]
+
+  uint8_t  MvddUlvPhaseSheddingMask;
+  uint8_t  VddciUlvPhaseSheddingMask;
+  uint8_t  Padding8_Psi1;
+  uint8_t  Padding8_Psi2;
+
+  uint32_t BoardReserved[5];
+};
+
 /* 
   

Re: [PATCH 2/2] drm/amdkfd: Signal eviction fence on process destruction (v2)

2020-03-06 Thread Christian König
Yeah, that one looks important. Feel free to add an Acked-by: Christian 
König .


Regards,
Christian.

Am 05.03.20 um 17:06 schrieb Felix Kuehling:

[moving to public mailing list]

Thank you. I'll also apply patch 2/2 to amd-staging-drm-next. It's not 
fixing a memory leak there, but it should make cleanup after process 
termination more efficient by avoiding delayed delete of BOs.


Regards,
  Felix

On 2020-03-04 10:46 p.m., Pan, Xinhui wrote:

Series is Reviewed-by: xinhui pan 


2020年3月5日 05:50,Kuehling, Felix  写道:

Otherwise BOs may wait for the fence indefinitely and never be 
destroyed.


v2: Signal the fence right after destroying queues to avoid unnecessary
    delaye-delete in kfd_process_wq_release

Signed-off-by: Felix Kuehling 
---
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 5 +
1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_process.c

index d5d4660221af..26f7f178b66d 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
@@ -625,6 +625,11 @@ static void kfd_process_notifier_release(struct 
mmu_notifier *mn,


/* Indicate to other users that MM is no longer valid */
p->mm = NULL;
+    /* Signal the eviction fence after user mode queues are
+ * destroyed. This allows any BOs to be freed without
+ * triggering pointless evictions or waiting for fences.
+ */
+    dma_fence_signal(p->ef);

mutex_unlock(>mutex);

--
2.25.1


___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[PATCH] Corrected the core clock speed for AMD HAINAN

2020-03-06 Thread Yassine Oudjana
Empty Message


mutt-yassine-HP-1000-4480-19426451861488017513
Description: Binary data
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx