From owner-freebsd-x11@freebsd.org Fri Sep 28 17:36:33 2018 Return-Path: Delivered-To: freebsd-x11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 33FA110B591B for ; Fri, 28 Sep 2018 17:36:33 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "troutmask", Issuer "troutmask" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C90527B71E for ; Fri, 28 Sep 2018 17:36:32 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (localhost [127.0.0.1]) by troutmask.apl.washington.edu (8.15.2/8.15.2) with ESMTPS id w8SHaSl1001120 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 28 Sep 2018 10:36:28 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.15.2/8.15.2/Submit) id w8SHaR36001119; Fri, 28 Sep 2018 10:36:27 -0700 (PDT) (envelope-from sgk) Date: Fri, 28 Sep 2018 10:36:27 -0700 From: Steve Kargl To: Johannes Lundberg Cc: Niclas Zeising , x11-list freebsd Subject: Re: fence_wait returned with error -512 Message-ID: <20180928173627.GA1082@troutmask.apl.washington.edu> Reply-To: sgk@troutmask.apl.washington.edu References: <20180927014128.GA14820@troutmask.apl.washington.edu> <20180927190409.GA27756@troutmask.apl.washington.edu> <20180927201928.GA86166@troutmask.apl.washington.edu> <20180927211815.GB89730@troutmask.apl.washington.edu> <20180927233955.GA918@troutmask.apl.washington.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Sep 2018 17:36:33 -0000 On Thu, Sep 27, 2018 at 05:48:35PM -0700, Johannes Lundberg wrote: > > I pushed a fix for firmware names. Please run git pull and try again. > The semi-obvious diff to git code (see patch following .sig) allows at least the loading of one module. % kldstat | grep radeon 11 1 0xffffffff81622000 db810 radeonkms.ko 14 1 0xffffffff81748000 12f7 radeon_CAICOS_pfp_bin.ko Upon trying to start Xorg, I now see info: [drm] Loading CAICOS Microcode error: [drm:pid919:ni_init_microcode] *ERROR* ni_cp: Failed to load firmware "radeon_CAICOS_pfp_bin" error: [drm:pid919:evergreen_startup] *ERROR* Failed to load firmware! drmn0: error: disabling GPU acceleration drmn0: warning: 0xfffff800029ec400 unpin not necessary drmn0: warning: 0xfffff800029ec400 unpin not necessary error: [drm:pid919:evergreen_init] *ERROR* radeon: MC ucode required for NI+. drmn0: error: Fatal error during GPU init info: [drm] radeon: finishing device. info: [drm] radeon: ttm finalized device_attach: drmn0 attach returned 22 -- Steve diff --git a/src/dev/drm2/radeon/ni.c b/src/dev/drm2/radeon/ni.c index e254c83..09b63e7 100644 --- a/src/dev/drm2/radeon/ni.c +++ b/src/dev/drm2/radeon/ni.c @@ -63,23 +63,23 @@ extern int si_rlc_init(struct radeon_device *rdev); #ifdef __linux__ /* Firmware Names */ -MODULE_FIRMWARE("radeon/BARTS_pfp.bin"); -MODULE_FIRMWARE("radeon/BARTS_me.bin"); -MODULE_FIRMWARE("radeon/BARTS_mc.bin"); -MODULE_FIRMWARE("radeon/BTC_rlc.bin"); -MODULE_FIRMWARE("radeon/TURKS_pfp.bin"); -MODULE_FIRMWARE("radeon/TURKS_me.bin"); -MODULE_FIRMWARE("radeon/TURKS_mc.bin"); -MODULE_FIRMWARE("radeon/CAICOS_pfp.bin"); -MODULE_FIRMWARE("radeon/CAICOS_me.bin"); -MODULE_FIRMWARE("radeon/CAICOS_mc.bin"); -MODULE_FIRMWARE("radeon/CAYMAN_pfp.bin"); -MODULE_FIRMWARE("radeon/CAYMAN_me.bin"); -MODULE_FIRMWARE("radeon/CAYMAN_mc.bin"); -MODULE_FIRMWARE("radeon/CAYMAN_rlc.bin"); -MODULE_FIRMWARE("radeon/ARUBA_pfp.bin"); -MODULE_FIRMWARE("radeon/ARUBA_me.bin"); -MODULE_FIRMWARE("radeon/ARUBA_rlc.bin"); +MODULE_FIRMWARE("radeon_BARTS_pfp_bin"); +MODULE_FIRMWARE("radeon_BARTS_me_bin"); +MODULE_FIRMWARE("radeon_BARTS_mc_bin"); +MODULE_FIRMWARE("radeon_BTC_rlc_bin"); +MODULE_FIRMWARE("radeon_TURKS_pfp_bin"); +MODULE_FIRMWARE("radeon_TURKS_me_bin"); +MODULE_FIRMWARE("radeon_TURKS_mc_bin"); +MODULE_FIRMWARE("radeon_CAICOS_pfp_bin"); +MODULE_FIRMWARE("radeon_CAICOS_me_bin"); +MODULE_FIRMWARE("radeon_CAICOS_mc_bin"); +MODULE_FIRMWARE("radeon_CAYMAN_pfp_bin"); +MODULE_FIRMWARE("radeon_CAYMAN_me_bin"); +MODULE_FIRMWARE("radeon_CAYMAN_mc_bin"); +MODULE_FIRMWARE("radeon_CAYMAN_rlc_bin"); +MODULE_FIRMWARE("radeon_ARUBA_pfp_bin"); +MODULE_FIRMWARE("radeon_ARUBA_me_bin"); +MODULE_FIRMWARE("radeon_ARUBA_rlc_bin"); #endif #define BTC_IO_MC_REGS_SIZE 29 @@ -346,7 +346,7 @@ int ni_init_microcode(struct radeon_device *rdev) DRM_INFO("Loading %s Microcode\n", chip_name); err = 0; - snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_pfp_bin", chip_name); rdev->pfp_fw = firmware_get(fw_name); if (rdev->pfp_fw == NULL) { err = -ENOENT; @@ -360,7 +360,7 @@ int ni_init_microcode(struct radeon_device *rdev) goto out; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_me.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_me_bin", chip_name); rdev->me_fw = firmware_get(fw_name); if (rdev->me_fw == NULL) { err = -ENOENT; @@ -373,7 +373,7 @@ int ni_init_microcode(struct radeon_device *rdev) err = -EINVAL; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_rlc.bin", rlc_chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_rlc_bin", rlc_chip_name); rdev->rlc_fw = firmware_get(fw_name); if (rdev->rlc_fw == NULL) { err = -ENOENT; @@ -388,7 +388,7 @@ int ni_init_microcode(struct radeon_device *rdev) /* no MC ucode on TN */ if (!(rdev->flags & RADEON_IS_IGP)) { - snprintf(fw_name, sizeof(fw_name), "radeon/%s_mc.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_mc_bin", chip_name); rdev->mc_fw = firmware_get(fw_name); if (rdev->mc_fw == NULL) { err = -ENOENT; diff --git a/src/dev/drm2/radeon/r600.c b/src/dev/drm2/radeon/r600.c index d9b0322..30a7aca 100644 --- a/src/dev/drm2/radeon/r600.c +++ b/src/dev/drm2/radeon/r600.c @@ -52,47 +52,47 @@ __FBSDID("$FreeBSD$"); #ifdef __linux__ /* Firmware Names */ -MODULE_FIRMWARE("radeon/R600_pfp.bin"); -MODULE_FIRMWARE("radeon/R600_me.bin"); -MODULE_FIRMWARE("radeon/RV610_pfp.bin"); -MODULE_FIRMWARE("radeon/RV610_me.bin"); -MODULE_FIRMWARE("radeon/RV630_pfp.bin"); -MODULE_FIRMWARE("radeon/RV630_me.bin"); -MODULE_FIRMWARE("radeon/RV620_pfp.bin"); -MODULE_FIRMWARE("radeon/RV620_me.bin"); -MODULE_FIRMWARE("radeon/RV635_pfp.bin"); -MODULE_FIRMWARE("radeon/RV635_me.bin"); -MODULE_FIRMWARE("radeon/RV670_pfp.bin"); -MODULE_FIRMWARE("radeon/RV670_me.bin"); -MODULE_FIRMWARE("radeon/RS780_pfp.bin"); -MODULE_FIRMWARE("radeon/RS780_me.bin"); -MODULE_FIRMWARE("radeon/RV770_pfp.bin"); -MODULE_FIRMWARE("radeon/RV770_me.bin"); -MODULE_FIRMWARE("radeon/RV730_pfp.bin"); -MODULE_FIRMWARE("radeon/RV730_me.bin"); -MODULE_FIRMWARE("radeon/RV710_pfp.bin"); -MODULE_FIRMWARE("radeon/RV710_me.bin"); -MODULE_FIRMWARE("radeon/R600_rlc.bin"); -MODULE_FIRMWARE("radeon/R700_rlc.bin"); -MODULE_FIRMWARE("radeon/CEDAR_pfp.bin"); -MODULE_FIRMWARE("radeon/CEDAR_me.bin"); -MODULE_FIRMWARE("radeon/CEDAR_rlc.bin"); -MODULE_FIRMWARE("radeon/REDWOOD_pfp.bin"); -MODULE_FIRMWARE("radeon/REDWOOD_me.bin"); -MODULE_FIRMWARE("radeon/REDWOOD_rlc.bin"); -MODULE_FIRMWARE("radeon/JUNIPER_pfp.bin"); -MODULE_FIRMWARE("radeon/JUNIPER_me.bin"); -MODULE_FIRMWARE("radeon/JUNIPER_rlc.bin"); -MODULE_FIRMWARE("radeon/CYPRESS_pfp.bin"); -MODULE_FIRMWARE("radeon/CYPRESS_me.bin"); -MODULE_FIRMWARE("radeon/CYPRESS_rlc.bin"); -MODULE_FIRMWARE("radeon/PALM_pfp.bin"); -MODULE_FIRMWARE("radeon/PALM_me.bin"); -MODULE_FIRMWARE("radeon/SUMO_rlc.bin"); -MODULE_FIRMWARE("radeon/SUMO_pfp.bin"); -MODULE_FIRMWARE("radeon/SUMO_me.bin"); -MODULE_FIRMWARE("radeon/SUMO2_pfp.bin"); -MODULE_FIRMWARE("radeon/SUMO2_me.bin"); +MODULE_FIRMWARE("radeon_R600_pfp_bin"); +MODULE_FIRMWARE("radeon_R600_me_bin"); +MODULE_FIRMWARE("radeon_RV610_pfp_bin"); +MODULE_FIRMWARE("radeon_RV610_me_bin"); +MODULE_FIRMWARE("radeon_RV630_pfp_bin"); +MODULE_FIRMWARE("radeon_RV630_me_bin"); +MODULE_FIRMWARE("radeon_RV620_pfp_bin"); +MODULE_FIRMWARE("radeon_RV620_me_bin"); +MODULE_FIRMWARE("radeon_RV635_pfp_bin"); +MODULE_FIRMWARE("radeon_RV635_me_bin"); +MODULE_FIRMWARE("radeon_RV670_pfp_bin"); +MODULE_FIRMWARE("radeon_RV670_me_bin"); +MODULE_FIRMWARE("radeon_RS780_pfp_bin"); +MODULE_FIRMWARE("radeon_RS780_me_bin"); +MODULE_FIRMWARE("radeon_RV770_pfp_bin"); +MODULE_FIRMWARE("radeon_RV770_me_bin"); +MODULE_FIRMWARE("radeon_RV730_pfp_bin"); +MODULE_FIRMWARE("radeon_RV730_me_bin"); +MODULE_FIRMWARE("radeon_RV710_pfp_bin"); +MODULE_FIRMWARE("radeon_RV710_me_bin"); +MODULE_FIRMWARE("radeon_R600_rlc_bin"); +MODULE_FIRMWARE("radeon_R700_rlc_bin"); +MODULE_FIRMWARE("radeon_CEDAR_pfp_bin"); +MODULE_FIRMWARE("radeon_CEDAR_me_bin"); +MODULE_FIRMWARE("radeon_CEDAR_rlc_bin"); +MODULE_FIRMWARE("radeon_REDWOOD_pfp_bin"); +MODULE_FIRMWARE("radeon_REDWOOD_me_bin"); +MODULE_FIRMWARE("radeon_REDWOOD_rlc_bin"); +MODULE_FIRMWARE("radeon_JUNIPER_pfp_bin"); +MODULE_FIRMWARE("radeon_JUNIPER_me_bin"); +MODULE_FIRMWARE("radeon_JUNIPER_rlc_bin"); +MODULE_FIRMWARE("radeon_CYPRESS_pfp_bin"); +MODULE_FIRMWARE("radeon_CYPRESS_me_bin"); +MODULE_FIRMWARE("radeon_CYPRESS_rlc_bin"); +MODULE_FIRMWARE("radeon_PALM_pfp_bin"); +MODULE_FIRMWARE("radeon_PALM_me_bin"); +MODULE_FIRMWARE("radeon_SUMO_rlc_bin"); +MODULE_FIRMWARE("radeon_SUMO_pfp_bin"); +MODULE_FIRMWARE("radeon_SUMO_me_bin"); +MODULE_FIRMWARE("radeon_SUMO2_pfp_bin"); +MODULE_FIRMWARE("radeon_SUMO2_me_bin"); #endif int r600_debugfs_mc_info_init(struct radeon_device *rdev); @@ -2066,7 +2066,7 @@ int r600_init_microcode(struct radeon_device *rdev) DRM_INFO("Loading %s Microcode\n", chip_name); err = 0; - snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_pfp_bin", chip_name); rdev->pfp_fw = firmware_get(fw_name); if (rdev->pfp_fw == NULL) { err = -ENOENT; @@ -2080,7 +2080,7 @@ int r600_init_microcode(struct radeon_device *rdev) goto out; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_me.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_me_bin", chip_name); rdev->me_fw = firmware_get(fw_name); if (rdev->me_fw == NULL) { err = -ENOENT; @@ -2093,7 +2093,7 @@ int r600_init_microcode(struct radeon_device *rdev) err = -EINVAL; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_rlc.bin", rlc_chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_rlc_bin", rlc_chip_name); rdev->rlc_fw = firmware_get(fw_name); if (rdev->rlc_fw == NULL) { err = -ENOENT; diff --git a/src/dev/drm2/radeon/r600_cp.c b/src/dev/drm2/radeon/r600_cp.c index 3c6462e..9382cb5 100644 --- a/src/dev/drm2/radeon/r600_cp.c +++ b/src/dev/drm2/radeon/r600_cp.c @@ -46,26 +46,26 @@ __FBSDID("$FreeBSD$"); #ifdef __linux__ /* Firmware Names */ -MODULE_FIRMWARE("radeon/R600_pfp.bin"); -MODULE_FIRMWARE("radeon/R600_me.bin"); -MODULE_FIRMWARE("radeon/RV610_pfp.bin"); -MODULE_FIRMWARE("radeon/RV610_me.bin"); -MODULE_FIRMWARE("radeon/RV630_pfp.bin"); -MODULE_FIRMWARE("radeon/RV630_me.bin"); -MODULE_FIRMWARE("radeon/RV620_pfp.bin"); -MODULE_FIRMWARE("radeon/RV620_me.bin"); -MODULE_FIRMWARE("radeon/RV635_pfp.bin"); -MODULE_FIRMWARE("radeon/RV635_me.bin"); -MODULE_FIRMWARE("radeon/RV670_pfp.bin"); -MODULE_FIRMWARE("radeon/RV670_me.bin"); -MODULE_FIRMWARE("radeon/RS780_pfp.bin"); -MODULE_FIRMWARE("radeon/RS780_me.bin"); -MODULE_FIRMWARE("radeon/RV770_pfp.bin"); -MODULE_FIRMWARE("radeon/RV770_me.bin"); -MODULE_FIRMWARE("radeon/RV730_pfp.bin"); -MODULE_FIRMWARE("radeon/RV730_me.bin"); -MODULE_FIRMWARE("radeon/RV710_pfp.bin"); -MODULE_FIRMWARE("radeon/RV710_me.bin"); +MODULE_FIRMWARE("radeon_R600_pfp.bin"); +MODULE_FIRMWARE("radeon_R600_me.bin"); +MODULE_FIRMWARE("radeon_RV610_pfp.bin"); +MODULE_FIRMWARE("radeon_RV610_me.bin"); +MODULE_FIRMWARE("radeon_RV630_pfp.bin"); +MODULE_FIRMWARE("radeon_RV630_me.bin"); +MODULE_FIRMWARE("radeon_RV620_pfp.bin"); +MODULE_FIRMWARE("radeon_RV620_me.bin"); +MODULE_FIRMWARE("radeon_RV635_pfp.bin"); +MODULE_FIRMWARE("radeon_RV635_me.bin"); +MODULE_FIRMWARE("radeon_RV670_pfp.bin"); +MODULE_FIRMWARE("radeon_RV670_me.bin"); +MODULE_FIRMWARE("radeon_RS780_pfp.bin"); +MODULE_FIRMWARE("radeon_RS780_me.bin"); +MODULE_FIRMWARE("radeon_RV770_pfp.bin"); +MODULE_FIRMWARE("radeon_RV770_me.bin"); +MODULE_FIRMWARE("radeon_RV730_pfp.bin"); +MODULE_FIRMWARE("radeon_RV730_me.bin"); +MODULE_FIRMWARE("radeon_RV710_pfp.bin"); +MODULE_FIRMWARE("radeon_RV710_me.bin"); #endif @@ -359,7 +359,7 @@ static int r600_cp_init_microcode(drm_radeon_private_t *dev_priv) DRM_INFO("Loading %s CP Microcode\n", chip_name); err = 0; - snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_pfp.bin", chip_name); dev_priv->pfp_fw = firmware_get(fw_name); if (dev_priv->pfp_fw == NULL) { err = -ENOENT; @@ -373,7 +373,7 @@ static int r600_cp_init_microcode(drm_radeon_private_t *dev_priv) goto out; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_me.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_me.bin", chip_name); dev_priv->me_fw = firmware_get(fw_name); if (dev_priv->me_fw == NULL) { err = -ENOENT; diff --git a/src/dev/drm2/radeon/si.c b/src/dev/drm2/radeon/si.c index 394b93a..1ac5d78 100644 --- a/src/dev/drm2/radeon/si.c +++ b/src/dev/drm2/radeon/si.c @@ -41,21 +41,21 @@ __FBSDID("$FreeBSD$"); #define SI_MC_UCODE_SIZE 7769 #ifdef __linux__ -MODULE_FIRMWARE("radeon/TAHITI_pfp.bin"); -MODULE_FIRMWARE("radeon/TAHITI_me.bin"); -MODULE_FIRMWARE("radeon/TAHITI_ce.bin"); -MODULE_FIRMWARE("radeon/TAHITI_mc.bin"); -MODULE_FIRMWARE("radeon/TAHITI_rlc.bin"); -MODULE_FIRMWARE("radeon/PITCAIRN_pfp.bin"); -MODULE_FIRMWARE("radeon/PITCAIRN_me.bin"); -MODULE_FIRMWARE("radeon/PITCAIRN_ce.bin"); -MODULE_FIRMWARE("radeon/PITCAIRN_mc.bin"); -MODULE_FIRMWARE("radeon/PITCAIRN_rlc.bin"); -MODULE_FIRMWARE("radeon/VERDE_pfp.bin"); -MODULE_FIRMWARE("radeon/VERDE_me.bin"); -MODULE_FIRMWARE("radeon/VERDE_ce.bin"); -MODULE_FIRMWARE("radeon/VERDE_mc.bin"); -MODULE_FIRMWARE("radeon/VERDE_rlc.bin"); +MODULE_FIRMWARE("radeon_TAHITI_pfp_bin"); +MODULE_FIRMWARE("radeon_TAHITI_me_bin"); +MODULE_FIRMWARE("radeon_TAHITI_ce_bin"); +MODULE_FIRMWARE("radeon_TAHITI_mc_bin"); +MODULE_FIRMWARE("radeon_TAHITI_rlc_bin"); +MODULE_FIRMWARE("radeon_PITCAIRN_pfp_bin"); +MODULE_FIRMWARE("radeon_PITCAIRN_me_bin"); +MODULE_FIRMWARE("radeon_PITCAIRN_ce_bin"); +MODULE_FIRMWARE("radeon_PITCAIRN_mc_bin"); +MODULE_FIRMWARE("radeon_PITCAIRN_rlc_bin"); +MODULE_FIRMWARE("radeon_VERDE_pfp_bin"); +MODULE_FIRMWARE("radeon_VERDE_me_bin"); +MODULE_FIRMWARE("radeon_VERDE_ce_bin"); +MODULE_FIRMWARE("radeon_VERDE_mc_bin"); +MODULE_FIRMWARE("radeon_VERDE_rlc_bin"); #endif #ifdef FREEBSD_WIP /* FreeBSD: to please GCC 4.2. */ @@ -325,7 +325,7 @@ static int si_init_microcode(struct radeon_device *rdev) DRM_INFO("Loading %s Microcode\n", chip_name); err = 0; - snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_pfp_bin", chip_name); rdev->pfp_fw = drm_firmware_get(fw_name, rdev->dev); if (rdev->pfp_fw == NULL) { err = -ENOENT; @@ -339,7 +339,7 @@ static int si_init_microcode(struct radeon_device *rdev) goto out; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_me.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_me_bin", chip_name); rdev->me_fw = drm_firmware_get(fw_name, rdev->dev); if (rdev->me_fw == NULL) { err = -ENOENT; @@ -352,7 +352,7 @@ static int si_init_microcode(struct radeon_device *rdev) err = -EINVAL; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_ce.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_ce_bin", chip_name); rdev->ce_fw = drm_firmware_get(fw_name, rdev->dev); if (rdev->ce_fw == NULL) { err = -ENOENT; @@ -365,7 +365,7 @@ static int si_init_microcode(struct radeon_device *rdev) err = -EINVAL; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_rlc.bin", rlc_chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_rlc_bin", rlc_chip_name); rdev->rlc_fw = drm_firmware_get(fw_name, rdev->dev); if (rdev->rlc_fw == NULL) { err = -ENOENT; @@ -378,7 +378,7 @@ static int si_init_microcode(struct radeon_device *rdev) err = -EINVAL; } - snprintf(fw_name, sizeof(fw_name), "radeon/%s_mc.bin", chip_name); + snprintf(fw_name, sizeof(fw_name), "radeon_%s_mc_bin", chip_name); rdev->mc_fw = drm_firmware_get(fw_name, rdev->dev); if (rdev->mc_fw == NULL) { err = -ENOENT;