diff mbox

Revert "drm/i915: mark all device info struct with __initconst"

Message ID 20180129083346.29173-1-lionel.g.landwerlin@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lionel Landwerlin Jan. 29, 2018, 8:33 a.m. UTC
This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.

 Conflicts:
	drivers/gpu/drm/i915/i915_pci.c

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
---
 drivers/gpu/drm/i915/i915_pci.c | 96 ++++++++++++++++++++---------------------
 1 file changed, 48 insertions(+), 48 deletions(-)

Comments

Chris Wilson Jan. 29, 2018, 9 a.m. UTC | #1
Quoting Lionel Landwerlin (2018-01-29 08:33:46)
> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
> 
>  Conflicts:
>         drivers/gpu/drm/i915/i915_pci.c
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>

Mea culpa, completely didn't realise post-module init loading was a
thing.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

It's still on the low hanging fruit list for reducing our bloat. Ideas?
i915_pcidata.ko? How far could we go with that, make all gen specific
code a separate section and unload them after init?
-Chris
Chris Wilson Jan. 29, 2018, 9:02 a.m. UTC | #2
Quoting Lionel Landwerlin (2018-01-29 08:33:46)
> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
> 
>  Conflicts:
>         drivers/gpu/drm/i915/i915_pci.c
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
Fixes: 5b54eddd3920 ("drm/i915: mark all device info struct with __initconst")

So it ends up in the right place.
-Chris
Lionel Landwerlin Jan. 29, 2018, 9:27 a.m. UTC | #3
On 29/01/18 09:02, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2018-01-29 08:33:46)
>> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
>>
>>   Conflicts:
>>          drivers/gpu/drm/i915/i915_pci.c
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
> Fixes: 5b54eddd3920 ("drm/i915: mark all device info struct with __initconst")
>
> So it ends up in the right place.
> -Chris
>
Thanks, pushed.
Lukas Wunner Jan. 29, 2018, 9:57 a.m. UTC | #4
On Mon, Jan 29, 2018 at 09:27:39AM +0000, Lionel Landwerlin wrote:
> On 29/01/18 09:02, Chris Wilson wrote:
> > Quoting Lionel Landwerlin (2018-01-29 08:33:46)
> > > This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
> > > 
> > >   Conflicts:
> > >          drivers/gpu/drm/i915/i915_pci.c
> > > 
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
> > Fixes: 5b54eddd3920 ("drm/i915: mark all device info struct with __initconst")
> > 
> > So it ends up in the right place.
> > -Chris
> > 
> Thanks, pushed.

This is missing
Reported-by: Chris Murphy <chris@colorremedies.com>

Also, someone please put on the todo list to write an igt test which
unbinds and rebinds the driver to prevent this regression from
reappearing:

echo PCI-ID > /sys/bus/pci/drivers/i915/unbind
echo PCI-ID > /sys/bus/pci/drivers/i915/bind

Thanks,

Lukas
Jani Nikula Jan. 29, 2018, 10 a.m. UTC | #5
On Mon, 29 Jan 2018, Lionel Landwerlin <lionel.g.landwerlin@intel.com> wrote:
> On 29/01/18 09:02, Chris Wilson wrote:
>> Quoting Lionel Landwerlin (2018-01-29 08:33:46)
>>> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
>>>
>>>   Conflicts:
>>>          drivers/gpu/drm/i915/i915_pci.c
>>>
>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
>> Fixes: 5b54eddd3920 ("drm/i915: mark all device info struct with __initconst")
>>
>> So it ends up in the right place.
>> -Chris
>>
> Thanks, pushed.

Please *always* wait for the full IGT results before pushing.

Please *always* include a self-contained reason *why* in the commit
message instead of relying on Bugzilla: link only.

Please run 'dim fixes <commit>' to get the proper tags; now Cc: stable
is missing. Fixes: alone doesn't cut it now that v4.15 has been
released.

No patch needs to be merged within an hour. There's never such a
rush. Please let's give more people a chance to look at the patches
before they get merged.


Thanks,
Jani.


>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Tvrtko Ursulin Jan. 29, 2018, 10:34 a.m. UTC | #6
On 29/01/2018 09:00, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2018-01-29 08:33:46)
>> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
>>
>>   Conflicts:
>>          drivers/gpu/drm/i915/i915_pci.c
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
>> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> 
> Mea culpa, completely didn't realise post-module init loading was a
> thing.
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> 
> It's still on the low hanging fruit list for reducing our bloat. Ideas?
> i915_pcidata.ko? How far could we go with that, make all gen specific
> code a separate section and unload them after init?

There is one maybe easy win with DMI_MATCH business. It modpost was 
taught to handle string relocs, one could remove the hardcoded string 
storage of 4x79 bytes for every DMI_MATCH entry. We have one large-ish 
table which is not __initconst in intel_no_lvds, but I haven't looked at 
the rest of the kernel - if all other users are mostly __initconst then 
the saving wouldn't be that universally interesting.

One larger code re-org could be to move all genX prefixed functions into 
separate .kos and load them dynamically. But it is very difficult to 
estimate the saving given how much re-use we have. And the extraction 
would probably be quite messy.

Regards,

Tvrtko
Chris Wilson Jan. 29, 2018, 10:44 a.m. UTC | #7
Quoting Tvrtko Ursulin (2018-01-29 10:34:05)
> 
> On 29/01/2018 09:00, Chris Wilson wrote:
> > Quoting Lionel Landwerlin (2018-01-29 08:33:46)
> >> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
> >>
> >>   Conflicts:
> >>          drivers/gpu/drm/i915/i915_pci.c
> >>
> >> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
> >> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> > 
> > Mea culpa, completely didn't realise post-module init loading was a
> > thing.
> > Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> > 
> > It's still on the low hanging fruit list for reducing our bloat. Ideas?
> > i915_pcidata.ko? How far could we go with that, make all gen specific
> > code a separate section and unload them after init?
> 
> There is one maybe easy win with DMI_MATCH business. It modpost was 
> taught to handle string relocs, one could remove the hardcoded string 
> storage of 4x79 bytes for every DMI_MATCH entry. We have one large-ish 
> table which is not __initconst in intel_no_lvds, but I haven't looked at 
> the rest of the kernel - if all other users are mostly __initconst then 
> the saving wouldn't be that universally interesting.
> 
> One larger code re-org could be to move all genX prefixed functions into 
> separate .kos and load them dynamically. But it is very difficult to 
> estimate the saving given how much re-use we have. And the extraction 
> would probably be quite messy.

I was dreaming of some advanced LTO which could mark used sections at
runtime linking (would need to be more involved so that it's run after
init/probe) and unload the rest. Doing some manual splitting seems like
the easy-ish thing to do in the near term, but I'd like to keep a fat
i915.ko and retrieve data sections from it on probe (just for the
convenience of having only one module). Dream on :)
-Chris
Jani Nikula Jan. 30, 2018, 8:44 a.m. UTC | #8
On Mon, 29 Jan 2018, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Mon, 29 Jan 2018, Lionel Landwerlin <lionel.g.landwerlin@intel.com> wrote:
>> On 29/01/18 09:02, Chris Wilson wrote:
>>> Quoting Lionel Landwerlin (2018-01-29 08:33:46)
>>>> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
>>>>
>>>>   Conflicts:
>>>>          drivers/gpu/drm/i915/i915_pci.c
>>>>
>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
>>> Fixes: 5b54eddd3920 ("drm/i915: mark all device info struct with __initconst")
>>>
>>> So it ends up in the right place.
>>> -Chris
>>>
>> Thanks, pushed.
>
> Please *always* wait for the full IGT results before pushing.
>
> Please *always* include a self-contained reason *why* in the commit
> message instead of relying on Bugzilla: link only.
>
> Please run 'dim fixes <commit>' to get the proper tags; now Cc: stable
> is missing. Fixes: alone doesn't cut it now that v4.15 has been
> released.

Rodrigo, please pick this up to drm-intel-next-fixes.

BR,
Jani.


>
> No patch needs to be merged within an hour. There's never such a
> rush. Please let's give more people a chance to look at the patches
> before they get merged.
>
>
> Thanks,
> Jani.
>
>
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Rodrigo Vivi Jan. 31, 2018, 2:15 a.m. UTC | #9
On Tue, Jan 30, 2018 at 08:44:46AM +0000, Jani Nikula wrote:
> On Mon, 29 Jan 2018, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> > On Mon, 29 Jan 2018, Lionel Landwerlin <lionel.g.landwerlin@intel.com> wrote:
> >> On 29/01/18 09:02, Chris Wilson wrote:
> >>> Quoting Lionel Landwerlin (2018-01-29 08:33:46)
> >>>> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
> >>>>
> >>>>   Conflicts:
> >>>>          drivers/gpu/drm/i915/i915_pci.c
> >>>>
> >>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
> >>> Fixes: 5b54eddd3920 ("drm/i915: mark all device info struct with __initconst")
> >>>
> >>> So it ends up in the right place.
> >>> -Chris
> >>>
> >> Thanks, pushed.
> >
> > Please *always* wait for the full IGT results before pushing.
> >
> > Please *always* include a self-contained reason *why* in the commit
> > message instead of relying on Bugzilla: link only.
> >
> > Please run 'dim fixes <commit>' to get the proper tags; now Cc: stable
> > is missing. Fixes: alone doesn't cut it now that v4.15 has been
> > released.
> 
> Rodrigo, please pick this up to drm-intel-next-fixes.

This particular one conflicted with the icl ones:

++<<<<<<< HEAD
++=======
+ #define GEN11_FEATURES \
+       GEN10_FEATURES, \
+       .gen = 11, \
+       .ddb_size = 2048, \
+       .has_csr = 0
+ 
+ static const struct intel_device_info intel_icelake_11_info = {
+       GEN11_FEATURES,
+       .platform = INTEL_ICELAKE,
+       .is_alpha_support = 1,
+       .has_resource_streamer = 0,
+ };
+ 
++>>>>>>> 5db47e37b387... Revert "drm/i915: mark all device info struct with __initconst"

So I'm assuming it is just a matter to remember to fix the next confclit removing initconst from icl?

Thanks for this and all other heads up.

> 
> BR,
> Jani.
> 
> 
> >
> > No patch needs to be merged within an hour. There's never such a
> > rush. Please let's give more people a chance to look at the patches
> > before they get merged.
> >
> >
> > Thanks,
> > Jani.
> >
> >
> >>
> >> _______________________________________________
> >> Intel-gfx mailing list
> >> Intel-gfx@lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center
Lionel Landwerlin Jan. 31, 2018, 5:02 p.m. UTC | #10
On 31/01/18 02:15, Rodrigo Vivi wrote:
> On Tue, Jan 30, 2018 at 08:44:46AM +0000, Jani Nikula wrote:
>> On Mon, 29 Jan 2018, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>>> On Mon, 29 Jan 2018, Lionel Landwerlin <lionel.g.landwerlin@intel.com> wrote:
>>>> On 29/01/18 09:02, Chris Wilson wrote:
>>>>> Quoting Lionel Landwerlin (2018-01-29 08:33:46)
>>>>>> This reverts commit 5b54eddd3920e9f6f1a6d972454baf350cbae77e.
>>>>>>
>>>>>>    Conflicts:
>>>>>>           drivers/gpu/drm/i915/i915_pci.c
>>>>>>
>>>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104805
>>>>> Fixes: 5b54eddd3920 ("drm/i915: mark all device info struct with __initconst")
>>>>>
>>>>> So it ends up in the right place.
>>>>> -Chris
>>>>>
>>>> Thanks, pushed.
>>> Please *always* wait for the full IGT results before pushing.
>>>
>>> Please *always* include a self-contained reason *why* in the commit
>>> message instead of relying on Bugzilla: link only.
>>>
>>> Please run 'dim fixes <commit>' to get the proper tags; now Cc: stable
>>> is missing. Fixes: alone doesn't cut it now that v4.15 has been
>>> released.
>> Rodrigo, please pick this up to drm-intel-next-fixes.
> This particular one conflicted with the icl ones:
>
> ++<<<<<<< HEAD
> ++=======
> + #define GEN11_FEATURES \
> +       GEN10_FEATURES, \
> +       .gen = 11, \
> +       .ddb_size = 2048, \
> +       .has_csr = 0
> +
> + static const struct intel_device_info intel_icelake_11_info = {
> +       GEN11_FEATURES,
> +       .platform = INTEL_ICELAKE,
> +       .is_alpha_support = 1,
> +       .has_resource_streamer = 0,
> + };
> +
> ++>>>>>>> 5db47e37b387... Revert "drm/i915: mark all device info struct with __initconst"
>
> So I'm assuming it is just a matter to remember to fix the next confclit removing initconst from icl?

Yep, sorry for the conflict.

>
> Thanks for this and all other heads up.
>
>> BR,
>> Jani.
>>
>>
>>> No patch needs to be merged within an hour. There's never such a
>>> rush. Please let's give more people a chance to look at the patches
>>> before they get merged.
>>>
>>>
>>> Thanks,
>>> Jani.
>>>
>>>
>>>> _______________________________________________
>>>> Intel-gfx mailing list
>>>> Intel-gfx@lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>> -- 
>> Jani Nikula, Intel Open Source Technology Center
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index f28c165fc49d..138228dd7782 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -74,19 +74,19 @@ 
 	GEN_DEFAULT_PAGE_SIZES, \
 	CURSOR_OFFSETS
 
-static const struct intel_device_info intel_i830_info __initconst = {
+static const struct intel_device_info intel_i830_info = {
 	GEN2_FEATURES,
 	.platform = INTEL_I830,
 	.is_mobile = 1, .cursor_needs_physical = 1,
 	.num_pipes = 2, /* legal, last one wins */
 };
 
-static const struct intel_device_info intel_i845g_info __initconst = {
+static const struct intel_device_info intel_i845g_info = {
 	GEN2_FEATURES,
 	.platform = INTEL_I845G,
 };
 
-static const struct intel_device_info intel_i85x_info __initconst = {
+static const struct intel_device_info intel_i85x_info = {
 	GEN2_FEATURES,
 	.platform = INTEL_I85X, .is_mobile = 1,
 	.num_pipes = 2, /* legal, last one wins */
@@ -94,7 +94,7 @@  static const struct intel_device_info intel_i85x_info __initconst = {
 	.has_fbc = 1,
 };
 
-static const struct intel_device_info intel_i865g_info __initconst = {
+static const struct intel_device_info intel_i865g_info = {
 	GEN2_FEATURES,
 	.platform = INTEL_I865G,
 };
@@ -108,7 +108,7 @@  static const struct intel_device_info intel_i865g_info __initconst = {
 	GEN_DEFAULT_PAGE_SIZES, \
 	CURSOR_OFFSETS
 
-static const struct intel_device_info intel_i915g_info __initconst = {
+static const struct intel_device_info intel_i915g_info = {
 	GEN3_FEATURES,
 	.platform = INTEL_I915G, .cursor_needs_physical = 1,
 	.has_overlay = 1, .overlay_needs_physical = 1,
@@ -116,7 +116,7 @@  static const struct intel_device_info intel_i915g_info __initconst = {
 	.unfenced_needs_alignment = 1,
 };
 
-static const struct intel_device_info intel_i915gm_info __initconst = {
+static const struct intel_device_info intel_i915gm_info = {
 	GEN3_FEATURES,
 	.platform = INTEL_I915GM,
 	.is_mobile = 1,
@@ -128,7 +128,7 @@  static const struct intel_device_info intel_i915gm_info __initconst = {
 	.unfenced_needs_alignment = 1,
 };
 
-static const struct intel_device_info intel_i945g_info __initconst = {
+static const struct intel_device_info intel_i945g_info = {
 	GEN3_FEATURES,
 	.platform = INTEL_I945G,
 	.has_hotplug = 1, .cursor_needs_physical = 1,
@@ -137,7 +137,7 @@  static const struct intel_device_info intel_i945g_info __initconst = {
 	.unfenced_needs_alignment = 1,
 };
 
-static const struct intel_device_info intel_i945gm_info __initconst = {
+static const struct intel_device_info intel_i945gm_info = {
 	GEN3_FEATURES,
 	.platform = INTEL_I945GM, .is_mobile = 1,
 	.has_hotplug = 1, .cursor_needs_physical = 1,
@@ -148,14 +148,14 @@  static const struct intel_device_info intel_i945gm_info __initconst = {
 	.unfenced_needs_alignment = 1,
 };
 
-static const struct intel_device_info intel_g33_info __initconst = {
+static const struct intel_device_info intel_g33_info = {
 	GEN3_FEATURES,
 	.platform = INTEL_G33,
 	.has_hotplug = 1,
 	.has_overlay = 1,
 };
 
-static const struct intel_device_info intel_pineview_info __initconst = {
+static const struct intel_device_info intel_pineview_info = {
 	GEN3_FEATURES,
 	.platform = INTEL_PINEVIEW, .is_mobile = 1,
 	.has_hotplug = 1,
@@ -172,7 +172,7 @@  static const struct intel_device_info intel_pineview_info __initconst = {
 	GEN_DEFAULT_PAGE_SIZES, \
 	CURSOR_OFFSETS
 
-static const struct intel_device_info intel_i965g_info __initconst = {
+static const struct intel_device_info intel_i965g_info = {
 	GEN4_FEATURES,
 	.platform = INTEL_I965G,
 	.has_overlay = 1,
@@ -180,7 +180,7 @@  static const struct intel_device_info intel_i965g_info __initconst = {
 	.has_snoop = false,
 };
 
-static const struct intel_device_info intel_i965gm_info __initconst = {
+static const struct intel_device_info intel_i965gm_info = {
 	GEN4_FEATURES,
 	.platform = INTEL_I965GM,
 	.is_mobile = 1, .has_fbc = 1,
@@ -190,13 +190,13 @@  static const struct intel_device_info intel_i965gm_info __initconst = {
 	.has_snoop = false,
 };
 
-static const struct intel_device_info intel_g45_info __initconst = {
+static const struct intel_device_info intel_g45_info = {
 	GEN4_FEATURES,
 	.platform = INTEL_G45,
 	.ring_mask = RENDER_RING | BSD_RING,
 };
 
-static const struct intel_device_info intel_gm45_info __initconst = {
+static const struct intel_device_info intel_gm45_info = {
 	GEN4_FEATURES,
 	.platform = INTEL_GM45,
 	.is_mobile = 1, .has_fbc = 1,
@@ -215,12 +215,12 @@  static const struct intel_device_info intel_gm45_info __initconst = {
 	GEN_DEFAULT_PAGE_SIZES, \
 	CURSOR_OFFSETS
 
-static const struct intel_device_info intel_ironlake_d_info __initconst = {
+static const struct intel_device_info intel_ironlake_d_info = {
 	GEN5_FEATURES,
 	.platform = INTEL_IRONLAKE,
 };
 
-static const struct intel_device_info intel_ironlake_m_info __initconst = {
+static const struct intel_device_info intel_ironlake_m_info = {
 	GEN5_FEATURES,
 	.platform = INTEL_IRONLAKE,
 	.is_mobile = 1, .has_fbc = 1,
@@ -243,12 +243,12 @@  static const struct intel_device_info intel_ironlake_m_info __initconst = {
 	GEN6_FEATURES, \
 	.platform = INTEL_SANDYBRIDGE
 
-static const struct intel_device_info intel_sandybridge_d_gt1_info __initconst = {
+static const struct intel_device_info intel_sandybridge_d_gt1_info = {
 	SNB_D_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_sandybridge_d_gt2_info __initconst = {
+static const struct intel_device_info intel_sandybridge_d_gt2_info = {
 	SNB_D_PLATFORM,
 	.gt = 2,
 };
@@ -259,12 +259,12 @@  static const struct intel_device_info intel_sandybridge_d_gt2_info __initconst =
 	.is_mobile = 1
 
 
-static const struct intel_device_info intel_sandybridge_m_gt1_info __initconst = {
+static const struct intel_device_info intel_sandybridge_m_gt1_info = {
 	SNB_M_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_sandybridge_m_gt2_info __initconst = {
+static const struct intel_device_info intel_sandybridge_m_gt2_info = {
 	SNB_M_PLATFORM,
 	.gt = 2,
 };
@@ -288,12 +288,12 @@  static const struct intel_device_info intel_sandybridge_m_gt2_info __initconst =
 	.platform = INTEL_IVYBRIDGE, \
 	.has_l3_dpf = 1
 
-static const struct intel_device_info intel_ivybridge_d_gt1_info __initconst = {
+static const struct intel_device_info intel_ivybridge_d_gt1_info = {
 	IVB_D_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_ivybridge_d_gt2_info __initconst = {
+static const struct intel_device_info intel_ivybridge_d_gt2_info = {
 	IVB_D_PLATFORM,
 	.gt = 2,
 };
@@ -304,17 +304,17 @@  static const struct intel_device_info intel_ivybridge_d_gt2_info __initconst = {
 	.is_mobile = 1, \
 	.has_l3_dpf = 1
 
-static const struct intel_device_info intel_ivybridge_m_gt1_info __initconst = {
+static const struct intel_device_info intel_ivybridge_m_gt1_info = {
 	IVB_M_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_ivybridge_m_gt2_info __initconst = {
+static const struct intel_device_info intel_ivybridge_m_gt2_info = {
 	IVB_M_PLATFORM,
 	.gt = 2,
 };
 
-static const struct intel_device_info intel_ivybridge_q_info __initconst = {
+static const struct intel_device_info intel_ivybridge_q_info = {
 	GEN7_FEATURES,
 	.platform = INTEL_IVYBRIDGE,
 	.gt = 2,
@@ -322,7 +322,7 @@  static const struct intel_device_info intel_ivybridge_q_info __initconst = {
 	.has_l3_dpf = 1,
 };
 
-static const struct intel_device_info intel_valleyview_info __initconst = {
+static const struct intel_device_info intel_valleyview_info = {
 	.platform = INTEL_VALLEYVIEW,
 	.gen = 7,
 	.is_lp = 1,
@@ -358,17 +358,17 @@  static const struct intel_device_info intel_valleyview_info __initconst = {
 	.platform = INTEL_HASWELL, \
 	.has_l3_dpf = 1
 
-static const struct intel_device_info intel_haswell_gt1_info __initconst = {
+static const struct intel_device_info intel_haswell_gt1_info = {
 	HSW_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_haswell_gt2_info __initconst = {
+static const struct intel_device_info intel_haswell_gt2_info = {
 	HSW_PLATFORM,
 	.gt = 2,
 };
 
-static const struct intel_device_info intel_haswell_gt3_info __initconst = {
+static const struct intel_device_info intel_haswell_gt3_info = {
 	HSW_PLATFORM,
 	.gt = 3,
 };
@@ -388,17 +388,17 @@  static const struct intel_device_info intel_haswell_gt3_info __initconst = {
 	.gen = 8, \
 	.platform = INTEL_BROADWELL
 
-static const struct intel_device_info intel_broadwell_gt1_info __initconst = {
+static const struct intel_device_info intel_broadwell_gt1_info = {
 	BDW_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_broadwell_gt2_info __initconst = {
+static const struct intel_device_info intel_broadwell_gt2_info = {
 	BDW_PLATFORM,
 	.gt = 2,
 };
 
-static const struct intel_device_info intel_broadwell_rsvd_info __initconst = {
+static const struct intel_device_info intel_broadwell_rsvd_info = {
 	BDW_PLATFORM,
 	.gt = 3,
 	/* According to the device ID those devices are GT3, they were
@@ -406,13 +406,13 @@  static const struct intel_device_info intel_broadwell_rsvd_info __initconst = {
 	 */
 };
 
-static const struct intel_device_info intel_broadwell_gt3_info __initconst = {
+static const struct intel_device_info intel_broadwell_gt3_info = {
 	BDW_PLATFORM,
 	.gt = 3,
 	.ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING,
 };
 
-static const struct intel_device_info intel_cherryview_info __initconst = {
+static const struct intel_device_info intel_cherryview_info = {
 	.gen = 8, .num_pipes = 3,
 	.has_hotplug = 1,
 	.is_lp = 1,
@@ -455,12 +455,12 @@  static const struct intel_device_info intel_cherryview_info __initconst = {
 	.gen = 9, \
 	.platform = INTEL_SKYLAKE
 
-static const struct intel_device_info intel_skylake_gt1_info __initconst = {
+static const struct intel_device_info intel_skylake_gt1_info = {
 	SKL_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_skylake_gt2_info __initconst = {
+static const struct intel_device_info intel_skylake_gt2_info = {
 	SKL_PLATFORM,
 	.gt = 2,
 };
@@ -470,12 +470,12 @@  static const struct intel_device_info intel_skylake_gt2_info __initconst = {
 	.ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING
 
 
-static const struct intel_device_info intel_skylake_gt3_info __initconst = {
+static const struct intel_device_info intel_skylake_gt3_info = {
 	SKL_GT3_PLUS_PLATFORM,
 	.gt = 3,
 };
 
-static const struct intel_device_info intel_skylake_gt4_info __initconst = {
+static const struct intel_device_info intel_skylake_gt4_info = {
 	SKL_GT3_PLUS_PLATFORM,
 	.gt = 4,
 };
@@ -511,13 +511,13 @@  static const struct intel_device_info intel_skylake_gt4_info __initconst = {
 	IVB_CURSOR_OFFSETS, \
 	BDW_COLORS
 
-static const struct intel_device_info intel_broxton_info __initconst = {
+static const struct intel_device_info intel_broxton_info = {
 	GEN9_LP_FEATURES,
 	.platform = INTEL_BROXTON,
 	.ddb_size = 512,
 };
 
-static const struct intel_device_info intel_geminilake_info __initconst = {
+static const struct intel_device_info intel_geminilake_info = {
 	GEN9_LP_FEATURES,
 	.platform = INTEL_GEMINILAKE,
 	.ddb_size = 1024,
@@ -529,17 +529,17 @@  static const struct intel_device_info intel_geminilake_info __initconst = {
 	.gen = 9, \
 	.platform = INTEL_KABYLAKE
 
-static const struct intel_device_info intel_kabylake_gt1_info __initconst = {
+static const struct intel_device_info intel_kabylake_gt1_info = {
 	KBL_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_kabylake_gt2_info __initconst = {
+static const struct intel_device_info intel_kabylake_gt2_info = {
 	KBL_PLATFORM,
 	.gt = 2,
 };
 
-static const struct intel_device_info intel_kabylake_gt3_info __initconst = {
+static const struct intel_device_info intel_kabylake_gt3_info = {
 	KBL_PLATFORM,
 	.gt = 3,
 	.ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING,
@@ -550,17 +550,17 @@  static const struct intel_device_info intel_kabylake_gt3_info __initconst = {
 	.gen = 9, \
 	.platform = INTEL_COFFEELAKE
 
-static const struct intel_device_info intel_coffeelake_gt1_info __initconst = {
+static const struct intel_device_info intel_coffeelake_gt1_info = {
 	CFL_PLATFORM,
 	.gt = 1,
 };
 
-static const struct intel_device_info intel_coffeelake_gt2_info __initconst = {
+static const struct intel_device_info intel_coffeelake_gt2_info = {
 	CFL_PLATFORM,
 	.gt = 2,
 };
 
-static const struct intel_device_info intel_coffeelake_gt3_info __initconst = {
+static const struct intel_device_info intel_coffeelake_gt3_info = {
 	CFL_PLATFORM,
 	.gt = 3,
 	.ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING,
@@ -571,7 +571,7 @@  static const struct intel_device_info intel_coffeelake_gt3_info __initconst = {
 	.ddb_size = 1024, \
 	GLK_COLORS
 
-static const struct intel_device_info intel_cannonlake_gt2_info __initconst = {
+static const struct intel_device_info intel_cannonlake_gt2_info = {
 	GEN10_FEATURES,
 	.is_alpha_support = 1,
 	.platform = INTEL_CANNONLAKE,
@@ -585,7 +585,7 @@  static const struct intel_device_info intel_cannonlake_gt2_info __initconst = {
 	.ddb_size = 2048, \
 	.has_csr = 0
 
-static const struct intel_device_info intel_icelake_11_info __initconst = {
+static const struct intel_device_info intel_icelake_11_info = {
 	GEN11_FEATURES,
 	.platform = INTEL_ICELAKE,
 	.is_alpha_support = 1,