ac: add radeon_info::marketing_name, replacing the winsys callback
authorMarek Olšák <marek.olsak@amd.com>
Tue, 12 Feb 2019 17:14:15 +0000 (12:14 -0500)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 23 Apr 2019 15:28:56 +0000 (11:28 -0400)
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/amd/common/ac_gpu_info.c
src/amd/common/ac_gpu_info.h
src/gallium/drivers/r600/r600_pipe_common.c
src/gallium/drivers/radeon/radeon_winsys.h
src/gallium/drivers/radeonsi/si_get.c
src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c

index afbb0239628dde8c7c3b45fd30d495b21afe9afa..fa052c8b861e57715b07b99a38e953bffc31005d 100644 (file)
@@ -333,6 +333,8 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev,
                return false;
        }
 
+       info->marketing_name = amdgpu_get_marketing_name(dev);
+
        /* Set which chips have dedicated VRAM. */
        info->has_dedicated_vram =
                !(amdinfo->ids_flags & AMDGPU_IDS_FLAGS_FUSION);
index 5241c28f2a7ae77aaef47118bb78966f1d8434b1..4e3afc2b4dc07b7276556218b4d7972274144ea3 100644 (file)
@@ -48,6 +48,7 @@ struct radeon_info {
 
        /* Device info. */
        const char                  *name;
+       const char                  *marketing_name;
        uint32_t                    pci_id;
        enum radeon_family          family;
        enum chip_class             chip_class;
index fce35b45141118bd3045d09a837043c3c60c0cbc..bce45ea045639522504687b30e47c79cb6af8604 100644 (file)
@@ -805,13 +805,6 @@ static const char* r600_get_device_vendor(struct pipe_screen* pscreen)
        return "AMD";
 }
 
-static const char *r600_get_marketing_name(struct radeon_winsys *ws)
-{
-       if (!ws->get_chip_name)
-               return NULL;
-       return ws->get_chip_name(ws);
-}
-
 static const char *r600_get_family_name(const struct r600_common_screen *rscreen)
 {
        switch (rscreen->info.family) {
@@ -1274,11 +1267,7 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,
        ws->query_info(ws, &rscreen->info);
        rscreen->ws = ws;
 
-       if ((chip_name = r600_get_marketing_name(ws)))
-               snprintf(family_name, sizeof(family_name), "%s / ",
-                        r600_get_family_name(rscreen) + 4);
-       else
-               chip_name = r600_get_family_name(rscreen);
+       chip_name = r600_get_family_name(rscreen);
 
        if (uname(&uname_data) == 0)
                snprintf(kernel_version, sizeof(kernel_version),
index 4e53c992fdfa77db291d0ba71f46049938c3fc67..2d86c7f905b48986f8b7b2cced07140aa0bee850 100644 (file)
@@ -683,8 +683,6 @@ struct radeon_winsys {
 
     bool (*read_registers)(struct radeon_winsys *ws, unsigned reg_offset,
                            unsigned num_registers, uint32_t *out);
-
-    const char* (*get_chip_name)(struct radeon_winsys *ws);
 };
 
 static inline bool radeon_emitted(struct radeon_cmdbuf *cs, unsigned num_dw)
index 67fbc50998b6008a5eb71ea28bdecf90a995b93c..eddb383c2707f7344b1972da74dc306b4b1dbde1 100644 (file)
@@ -48,13 +48,6 @@ static const char *si_get_device_vendor(struct pipe_screen *pscreen)
        return "AMD";
 }
 
-static const char *si_get_marketing_name(struct radeon_winsys *ws)
-{
-       if (!ws->get_chip_name)
-               return NULL;
-       return ws->get_chip_name(ws);
-}
-
 static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
 {
        struct si_screen *sscreen = (struct si_screen *)pscreen;
@@ -943,14 +936,12 @@ static struct disk_cache *si_get_disk_shader_cache(struct pipe_screen *pscreen)
 
 static void si_init_renderer_string(struct si_screen *sscreen)
 {
-       struct radeon_winsys *ws = sscreen->ws;
        char first_name[256], second_name[32] = {}, kernel_version[128] = {};
        struct utsname uname_data;
 
-       const char *marketing_name = si_get_marketing_name(ws);
-
-       if (marketing_name) {
-               snprintf(first_name, sizeof(first_name), "%s", marketing_name);
+       if (sscreen->info.marketing_name) {
+               snprintf(first_name, sizeof(first_name), "%s",
+                        sscreen->info.marketing_name);
                snprintf(second_name, sizeof(second_name), "%s, ",
                         sscreen->info.name);
        } else {
index 45e54b4791db412e6e01f60ded83aaa9d61ba9d6..e847c5cff10e5727aaac97918aef3e3661091de3 100644 (file)
@@ -273,12 +273,6 @@ static bool amdgpu_winsys_unref(struct radeon_winsys *rws)
    return destroy;
 }
 
-static const char* amdgpu_get_chip_name(struct radeon_winsys *ws)
-{
-   amdgpu_device_handle dev = ((struct amdgpu_winsys *)ws)->dev;
-   return amdgpu_get_marketing_name(dev);
-}
-
 static void amdgpu_pin_threads_to_L3_cache(struct radeon_winsys *rws,
                                            unsigned cache)
 {
@@ -388,7 +382,6 @@ amdgpu_winsys_create(int fd, const struct pipe_screen_config *config,
    ws->base.cs_request_feature = amdgpu_cs_request_feature;
    ws->base.query_value = amdgpu_query_value;
    ws->base.read_registers = amdgpu_read_registers;
-   ws->base.get_chip_name = amdgpu_get_chip_name;
    ws->base.pin_threads_to_L3_cache = amdgpu_pin_threads_to_L3_cache;
 
    amdgpu_bo_init_functions(ws);