]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some 5.10 patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jul 2024 09:23:24 +0000 (11:23 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jul 2024 09:23:24 +0000 (11:23 +0200)
13 files changed:
queue-5.10/drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch [deleted file]
queue-5.10/drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch [deleted file]
queue-5.10/drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch [deleted file]
queue-5.10/drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch [deleted file]
queue-5.10/drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch [deleted file]
queue-5.10/drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch [deleted file]
queue-5.10/qca_spi-make-interrupt-remembering-atomic.patch
queue-5.10/rdma-check-srq_type-during-create_srq.patch [deleted file]
queue-5.10/rdma-mlx5-add-check-for-srq-max_sge-attribute.patch
queue-5.10/rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch [deleted file]
queue-5.10/rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch [deleted file]
queue-5.10/sched-unbreak-wakeups.patch [deleted file]
queue-5.10/series

diff --git a/queue-5.10/drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch b/queue-5.10/drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch
deleted file mode 100644 (file)
index b76d1cf..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-From 78cbc9a916e025099cbd2575c23e96ab651b20cc Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 19 Sep 2020 16:21:53 -0400
-Subject: drm/amdgpu/atomfirmware: Add edp and integrated info v2.1 tables
-
-From: Roman Li <Roman.Li@amd.com>
-
-[ Upstream commit b9d90cb031c488d77a47084a009655d235e3d765 ]
-
-Required for vangogh.
-
-Signed-off-by: Roman Li <Roman.Li@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Reviewed-by: Harry Wentland <harry.wentland@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/include/atomfirmware.h | 62 +++++++++++++++++++++-
- 1 file changed, 61 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
-index 0799a9ca04401..4eb578b1baef1 100644
---- a/drivers/gpu/drm/amd/include/atomfirmware.h
-+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
-@@ -1304,11 +1304,71 @@ struct atom_integrated_system_info_v1_12
-   struct atom_hdmi_retimer_redriver_set dp3_retimer_set;   //for DP3
-   struct atom_DCN_dpphy_dp_tuningset hbr_tuningset;    //hbr 2.7G dp tuning set
-   struct atom_DCN_dpphy_dp_tuningset hbr2_tuningset;   //hbr2 5.4G dp turnig set
--  struct atom_DCN_dpphy_dp_tuningset edp_tunings;       //edp tuning set  
-+  struct atom_DCN_dpphy_dp_tuningset edp_tunings;       //edp tuning set
-   struct atom_DCN_dpphy_dvihdmi_tuningset  hdmiCLK6_tuningset;
-   uint32_t  reserved[63];
- };
-+
-+#if defined(CONFIG_DRM_AMD_DC_DCN3_01)
-+
-+struct edp_info_table
-+{
-+        uint16_t edp_backlight_pwm_hz;
-+        uint16_t edp_ss_percentage;
-+        uint16_t edp_ss_rate_10hz;
-+        uint16_t reserved1;
-+        uint32_t reserved2;
-+        uint8_t  edp_pwr_on_off_delay;
-+        uint8_t  edp_pwr_on_vary_bl_to_blon;
-+        uint8_t  edp_pwr_down_bloff_to_vary_bloff;
-+        uint8_t  edp_panel_bpc;
-+        uint8_t  edp_bootup_bl_level;
-+        uint8_t  reserved3[3];
-+        uint32_t reserved4[3];
-+};
-+
-+struct atom_integrated_system_info_v2_1
-+{
-+        struct  atom_common_table_header  table_header;
-+        uint32_t  vbios_misc;                       //enum of atom_system_vbiosmisc_def
-+        uint32_t  gpucapinfo;                       //enum of atom_system_gpucapinf_def
-+        uint32_t  system_config;
-+        uint32_t  cpucapinfo;
-+        uint16_t  gpuclk_ss_percentage;             //unit of 0.001%,   1000 mean 1%
-+        uint16_t  gpuclk_ss_type;
-+        uint16_t  dpphy_override;                   // bit vector, enum of atom_sysinfo_dpphy_override_def
-+        uint8_t   memorytype;                       // enum of atom_dmi_t17_mem_type_def, APU memory type indication.
-+        uint8_t   umachannelnumber;                 // number of memory channels
-+        uint8_t   htc_hyst_limit;
-+        uint8_t   htc_tmp_limit;
-+        uint8_t   reserved1;
-+        uint8_t   reserved2;
-+        struct edp_info_table edp1_info;
-+        struct edp_info_table edp2_info;
-+        uint32_t  reserved3[8];
-+        struct atom_external_display_connection_info extdispconninfo;
-+        struct atom_DCN_dpphy_dvihdmi_tuningset  TMDS_tuningset;
-+        struct atom_DCN_dpphy_dvihdmi_tuningset  hdmiCLK5_tuningset; //add clk6
-+        struct atom_DCN_dpphy_dvihdmi_tuningset  hdmiCLK6_tuningset;
-+        struct atom_DCN_dpphy_dvihdmi_tuningset  hdmiCLK8_tuningset;
-+        uint32_t reserved4[6];//reserve 2*sizeof(atom_DCN_dpphy_dvihdmi_tuningset)
-+        struct atom_DCN_dpphy_dp_tuningset rbr_tuningset;        // rbr 1.62G dp tuning set
-+        struct atom_DCN_dpphy_dp_tuningset hbr_tuningset;    //hbr 2.7G dp tuning set
-+        struct atom_DCN_dpphy_dp_tuningset hbr2_tuningset;   //hbr2 5.4G dp turnig set
-+        struct atom_DCN_dpphy_dp_tuningset hbr3_tuningset;   // HBR3 dp tuning set
-+        struct atom_DCN_dpphy_dp_tuningset edp_tunings;       //edp tuning set
-+        uint32_t reserved5[28];//reserve 2*sizeof(atom_DCN_dpphy_dp_tuningset)
-+        struct atom_hdmi_retimer_redriver_set dp0_retimer_set;   //for DP0
-+        struct atom_hdmi_retimer_redriver_set dp1_retimer_set;   //for DP1
-+        struct atom_hdmi_retimer_redriver_set dp2_retimer_set;   //for DP2
-+        struct atom_hdmi_retimer_redriver_set dp3_retimer_set;   //for DP3
-+        uint32_t reserved6[30];// reserve size of(atom_camera_data) for camera_info
-+        uint32_t reserved7[32];
-+
-+};
-+#endif
-+
- // system_config
- enum atom_system_vbiosmisc_def{
-   INTEGRATED_SYSTEM_INFO__GET_EDID_CALLBACK_FUNC_SUPPORT = 0x01,
--- 
-2.43.0
-
diff --git a/queue-5.10/drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch b/queue-5.10/drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch
deleted file mode 100644 (file)
index 2966e01..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-From 932a1db41ed0a5e087fc7d9ca22b94e03948c132 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 20 May 2024 18:43:55 +0800
-Subject: drm/amdgpu/atomfirmware: add intergrated info v2.3 table
-
-From: Li Ma <li.ma@amd.com>
-
-[ Upstream commit e64e8f7c178e5228e0b2dbb504b9dc75953a319f ]
-
-[Why]
-The vram width value is 0.
-Because the integratedsysteminfo table in VBIOS has updated to 2.3.
-
-[How]
-Driver needs a new intergrated info v2.3 table too.
-Then the vram width value will be correct.
-
-Signed-off-by: Li Ma <li.ma@amd.com>
-Reviewed-by: Yifan Zhang <yifan1.zhang@amd.com>
-Acked-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Cc: stable@vger.kernel.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- .../gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c  | 15 +++++++
- drivers/gpu/drm/amd/include/atomfirmware.h    | 43 +++++++++++++++++++
- 2 files changed, 58 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
-index c5ebf8ee66bc4..f71fbdc02e111 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
-@@ -113,6 +113,7 @@ union igp_info {
-       struct atom_integrated_system_info_v1_11 v11;
-       struct atom_integrated_system_info_v1_12 v12;
-       struct atom_integrated_system_info_v2_1 v21;
-+      struct atom_integrated_system_info_v2_3 v23;
- };
- union umc_info {
-@@ -239,6 +240,20 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
-                                       if (vram_type)
-                                               *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
-                                       break;
-+                              case 3:
-+                                      mem_channel_number = igp_info->v23.umachannelnumber;
-+                                      if (!mem_channel_number)
-+                                              mem_channel_number = 1;
-+                                      mem_type = igp_info->v23.memorytype;
-+                                      if (mem_type == LpDdr5MemType)
-+                                              mem_channel_width = 32;
-+                                      else
-+                                              mem_channel_width = 64;
-+                                      if (vram_width)
-+                                              *vram_width = mem_channel_number * mem_channel_width;
-+                                      if (vram_type)
-+                                              *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
-+                                      break;
-                               default:
-                                       return -EINVAL;
-                               }
-diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
-index c7cfe9d9096dc..7465f84ba5664 100644
---- a/drivers/gpu/drm/amd/include/atomfirmware.h
-+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
-@@ -1419,6 +1419,49 @@ struct atom_integrated_system_info_v2_2
-       uint32_t  reserved4[189];
- };
-+struct uma_carveout_option {
-+  char       optionName[29];        //max length of string is 28chars + '\0'. Current design is for "minimum", "Medium", "High". This makes entire struct size 64bits
-+  uint8_t    memoryCarvedGb;        //memory carved out with setting
-+  uint8_t    memoryRemainingGb;     //memory remaining on system
-+  union {
-+    struct _flags {
-+      uint8_t Auto     : 1;
-+      uint8_t Custom   : 1;
-+      uint8_t Reserved : 6;
-+    } flags;
-+    uint8_t all8;
-+  } uma_carveout_option_flags;
-+};
-+
-+struct atom_integrated_system_info_v2_3 {
-+  struct  atom_common_table_header table_header;
-+  uint32_t  vbios_misc; // enum of atom_system_vbiosmisc_def
-+  uint32_t  gpucapinfo; // enum of atom_system_gpucapinf_def
-+  uint32_t  system_config;
-+  uint32_t  cpucapinfo;
-+  uint16_t  gpuclk_ss_percentage; // unit of 0.001%,   1000 mean 1%
-+  uint16_t  gpuclk_ss_type;
-+  uint16_t  dpphy_override;  // bit vector, enum of atom_sysinfo_dpphy_override_def
-+  uint8_t memorytype;       // enum of atom_dmi_t17_mem_type_def, APU memory type indication.
-+  uint8_t umachannelnumber; // number of memory channels
-+  uint8_t htc_hyst_limit;
-+  uint8_t htc_tmp_limit;
-+  uint8_t reserved1; // dp_ss_control
-+  uint8_t gpu_package_id;
-+  struct  edp_info_table  edp1_info;
-+  struct  edp_info_table  edp2_info;
-+  uint32_t  reserved2[8];
-+  struct  atom_external_display_connection_info extdispconninfo;
-+  uint8_t UMACarveoutVersion;
-+  uint8_t UMACarveoutIndexMax;
-+  uint8_t UMACarveoutTypeDefault;
-+  uint8_t UMACarveoutIndexDefault;
-+  uint8_t UMACarveoutType;           //Auto or Custom
-+  uint8_t UMACarveoutIndex;
-+  struct  uma_carveout_option UMASizeControlOption[20];
-+  uint8_t reserved3[110];
-+};
-+
- // system_config
- enum atom_system_vbiosmisc_def{
-   INTEGRATED_SYSTEM_INFO__GET_EDID_CALLBACK_FUNC_SUPPORT = 0x01,
--- 
-2.43.0
-
diff --git a/queue-5.10/drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch b/queue-5.10/drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch
deleted file mode 100644 (file)
index 0469a3c..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0e0594d117ca71ec4d4017b17d20160c871c64c8 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 16 Oct 2020 11:42:00 -0400
-Subject: drm/amdgpu: drop CONFIG_DRM_AMD_DC_DCN3_01 from atomfirmware.h
-
-From: Alex Deucher <alexander.deucher@amd.com>
-
-[ Upstream commit 15047bd436a763dd2ddf8e1024b4e25af9cc11ee ]
-
-Not needed.
-
-Reviewed-by: Luben Tuikov <luben.tuikov@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/include/atomfirmware.h | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
-index 4eb578b1baef1..6139d10f4289d 100644
---- a/drivers/gpu/drm/amd/include/atomfirmware.h
-+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
-@@ -1309,9 +1309,6 @@ struct atom_integrated_system_info_v1_12
-   uint32_t  reserved[63];
- };
--
--#if defined(CONFIG_DRM_AMD_DC_DCN3_01)
--
- struct edp_info_table
- {
-         uint16_t edp_backlight_pwm_hz;
-@@ -1367,7 +1364,6 @@ struct atom_integrated_system_info_v2_1
-         uint32_t reserved7[32];
- };
--#endif
- // system_config
- enum atom_system_vbiosmisc_def{
--- 
-2.43.0
-
diff --git a/queue-5.10/drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch b/queue-5.10/drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch
deleted file mode 100644 (file)
index a674cfe..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-From 5bbed97f73987016b4f084c882125bc76c7fca74 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 Jan 2021 20:13:17 +0800
-Subject: drm/amdgpu: fix vram type and bandwidth error for DDR5 and DDR4
-
-From: Huang Rui <ray.huang@amd.com>
-
-[ Upstream commit 78683229ddeef56ba62e4b680c6394ea97f88d6c ]
-
-This patch is to update atomfirmware parser for the memory type and
-bandwidth of DDR5 and DDR4.
-
-Signed-off-by: Huang Rui <ray.huang@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- .../gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c  | 53 +++++++++++++------
- 1 file changed, 36 insertions(+), 17 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
-index b4df6460e45a9..c5ebf8ee66bc4 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
-@@ -112,6 +112,7 @@ int amdgpu_atomfirmware_allocate_fb_scratch(struct amdgpu_device *adev)
- union igp_info {
-       struct atom_integrated_system_info_v1_11 v11;
-       struct atom_integrated_system_info_v1_12 v12;
-+      struct atom_integrated_system_info_v2_1 v21;
- };
- union umc_info {
-@@ -205,24 +206,42 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
-               if (adev->flags & AMD_IS_APU) {
-                       igp_info = (union igp_info *)
-                               (mode_info->atom_context->bios + data_offset);
--                      switch (crev) {
--                      case 11:
--                              mem_channel_number = igp_info->v11.umachannelnumber;
--                              /* channel width is 64 */
--                              if (vram_width)
--                                      *vram_width = mem_channel_number * 64;
--                              mem_type = igp_info->v11.memorytype;
--                              if (vram_type)
--                                      *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
-+                      switch (frev) {
-+                      case 1:
-+                              switch (crev) {
-+                              case 11:
-+                              case 12:
-+                                      mem_channel_number = igp_info->v11.umachannelnumber;
-+                                      if (!mem_channel_number)
-+                                              mem_channel_number = 1;
-+                                      /* channel width is 64 */
-+                                      if (vram_width)
-+                                              *vram_width = mem_channel_number * 64;
-+                                      mem_type = igp_info->v11.memorytype;
-+                                      if (vram_type)
-+                                              *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
-+                                      break;
-+                              default:
-+                                      return -EINVAL;
-+                              }
-                               break;
--                      case 12:
--                              mem_channel_number = igp_info->v12.umachannelnumber;
--                              /* channel width is 64 */
--                              if (vram_width)
--                                      *vram_width = mem_channel_number * 64;
--                              mem_type = igp_info->v12.memorytype;
--                              if (vram_type)
--                                      *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
-+                      case 2:
-+                              switch (crev) {
-+                              case 1:
-+                              case 2:
-+                                      mem_channel_number = igp_info->v21.umachannelnumber;
-+                                      if (!mem_channel_number)
-+                                              mem_channel_number = 1;
-+                                      /* channel width is 64 */
-+                                      if (vram_width)
-+                                              *vram_width = mem_channel_number * 64;
-+                                      mem_type = igp_info->v21.memorytype;
-+                                      if (vram_type)
-+                                              *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
-+                                      break;
-+                              default:
-+                                      return -EINVAL;
-+                              }
-                               break;
-                       default:
-                               return -EINVAL;
--- 
-2.43.0
-
diff --git a/queue-5.10/drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch b/queue-5.10/drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch
deleted file mode 100644 (file)
index c7e6b81..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-From 75053bfdbb4d78694076e47c1e13fef25084a7bf Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 19 May 2021 10:38:47 -0400
-Subject: drm/amdgpu: Update atomfirmware for DCN3.1 phy tuning and eDP caps
-
-From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
-
-[ Upstream commit 753625643e218eb72a6e7b7df87db595a446931a ]
-
-[Why & How]
-We'll need these in driver for phy tuning in DCN3.1.
-
-Multiple eDP support also requires understanding which LCD the backlight
-curve in atombios is for.
-
-Acked-by: Huang Rui <ray.huang@amd.com>
-Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/include/atomfirmware.h | 56 +++++++++++++++++++++-
- 1 file changed, 55 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
-index 6139d10f4289d..c7cfe9d9096dc 100644
---- a/drivers/gpu/drm/amd/include/atomfirmware.h
-+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
-@@ -871,7 +871,8 @@ struct  atom_bracket_layout_record
- };
- enum atom_display_device_tag_def{
--  ATOM_DISPLAY_LCD1_SUPPORT            = 0x0002,  //an embedded display is either an LVDS or eDP signal type of display
-+  ATOM_DISPLAY_LCD1_SUPPORT            = 0x0002, //an embedded display is either an LVDS or eDP signal type of display
-+  ATOM_DISPLAY_LCD2_SUPPORT                          = 0x0020, //second edp device tag 0x0020 for backward compability
-   ATOM_DISPLAY_DFP1_SUPPORT            = 0x0008,
-   ATOM_DISPLAY_DFP2_SUPPORT            = 0x0080,
-   ATOM_DISPLAY_DFP3_SUPPORT            = 0x0200,
-@@ -1365,6 +1366,59 @@ struct atom_integrated_system_info_v2_1
- };
-+struct atom_n6_display_phy_tuning_set {
-+      uint8_t display_signal_type;
-+      uint8_t phy_sel;
-+      uint8_t preset_level;
-+      uint8_t reserved1;
-+      uint32_t reserved2;
-+      uint32_t speed_upto;
-+      uint8_t tx_vboost_level;
-+      uint8_t tx_vreg_v2i;
-+      uint8_t tx_vregdrv_byp;
-+      uint8_t tx_term_cntl;
-+      uint8_t tx_peak_level;
-+      uint8_t tx_slew_en;
-+      uint8_t tx_eq_pre;
-+      uint8_t tx_eq_main;
-+      uint8_t tx_eq_post;
-+      uint8_t tx_en_inv_pre;
-+      uint8_t tx_en_inv_post;
-+      uint8_t reserved3;
-+      uint32_t reserved4;
-+      uint32_t reserved5;
-+      uint32_t reserved6;
-+};
-+
-+struct atom_display_phy_tuning_info {
-+      struct atom_common_table_header table_header;
-+      struct atom_n6_display_phy_tuning_set disp_phy_tuning[1];
-+};
-+
-+struct atom_integrated_system_info_v2_2
-+{
-+      struct  atom_common_table_header  table_header;
-+      uint32_t  vbios_misc;                       //enum of atom_system_vbiosmisc_def
-+      uint32_t  gpucapinfo;                       //enum of atom_system_gpucapinf_def
-+      uint32_t  system_config;
-+      uint32_t  cpucapinfo;
-+      uint16_t  gpuclk_ss_percentage;             //unit of 0.001%,   1000 mean 1%
-+      uint16_t  gpuclk_ss_type;
-+      uint16_t  dpphy_override;                   // bit vector, enum of atom_sysinfo_dpphy_override_def
-+      uint8_t   memorytype;                       // enum of atom_dmi_t17_mem_type_def, APU memory type indication.
-+      uint8_t   umachannelnumber;                 // number of memory channels
-+      uint8_t   htc_hyst_limit;
-+      uint8_t   htc_tmp_limit;
-+      uint8_t   reserved1;
-+      uint8_t   reserved2;
-+      struct edp_info_table edp1_info;
-+      struct edp_info_table edp2_info;
-+      uint32_t  reserved3[8];
-+      struct atom_external_display_connection_info extdispconninfo;
-+
-+      uint32_t  reserved4[189];
-+};
-+
- // system_config
- enum atom_system_vbiosmisc_def{
-   INTEGRATED_SYSTEM_INFO__GET_EDID_CALLBACK_FUNC_SUPPORT = 0x01,
--- 
-2.43.0
-
diff --git a/queue-5.10/drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch b/queue-5.10/drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch
deleted file mode 100644 (file)
index 92fd803..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From db94fa5f8f6d8f6f19747a278de06dabfebd8a53 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 28 Aug 2020 17:50:33 +0800
-Subject: drm/amdgpu: update new memory types in atomfirmware header
-
-From: Huang Rui <ray.huang@amd.com>
-
-[ Upstream commit af118ed9ef9fc6c6cc37f2db3d4aa2b66b2c4335 ]
-
-Add new nemory types in atomfirmware header.
-
-Signed-off-by: Huang Rui <ray.huang@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/amd/include/atomfirmware.h | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
-index 3e526c394f6cb..0799a9ca04401 100644
---- a/drivers/gpu/drm/amd/include/atomfirmware.h
-+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
-@@ -1367,6 +1367,11 @@ enum atom_dmi_t17_mem_type_def{
-   LpDdr2MemType,                                        ///< Assign 28 to LPDDR2
-   LpDdr3MemType,                                        ///< Assign 29 to LPDDR3
-   LpDdr4MemType,                                        ///< Assign 30 to LPDDR4
-+  GDdr6MemType,                                         ///< Assign 31 to GDDR6
-+  HbmMemType,                                           ///< Assign 32 to HBM
-+  Hbm2MemType,                                          ///< Assign 33 to HBM2
-+  Ddr5MemType,                                          ///< Assign 34 to DDR5
-+  LpDdr5MemType,                                        ///< Assign 35 to LPDDR5
- };
--- 
-2.43.0
-
index 3c8d692ddf8481da3a182fade5bea79c621e25fb..a4e056038ca9e6d7f13dc37ccb63acc8ca81184d 100644 (file)
@@ -17,16 +17,14 @@ Link: https://lore.kernel.org/r/20240614145030.7781-1-wahrenst@gmx.net
 Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/net/ethernet/qualcomm/qca_debug.c |  6 ++----
- drivers/net/ethernet/qualcomm/qca_spi.c   | 16 ++++++++--------
- drivers/net/ethernet/qualcomm/qca_spi.h   |  3 +--
+ drivers/net/ethernet/qualcomm/qca_debug.c |    6 ++----
+ drivers/net/ethernet/qualcomm/qca_spi.c   |   16 ++++++++--------
+ drivers/net/ethernet/qualcomm/qca_spi.h   |    3 +--
  3 files changed, 11 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/net/ethernet/qualcomm/qca_debug.c b/drivers/net/ethernet/qualcomm/qca_debug.c
-index 66229b300c5a4..c205d3f036961 100644
 --- a/drivers/net/ethernet/qualcomm/qca_debug.c
 +++ b/drivers/net/ethernet/qualcomm/qca_debug.c
-@@ -110,10 +110,8 @@ qcaspi_info_show(struct seq_file *s, void *what)
+@@ -110,10 +110,8 @@ qcaspi_info_show(struct seq_file *s, voi
  
        seq_printf(s, "IRQ              : %d\n",
                   qca->spi_dev->irq);
@@ -39,8 +37,6 @@ index 66229b300c5a4..c205d3f036961 100644
  
        seq_printf(s, "SPI max speed    : %lu\n",
                   (unsigned long)qca->spi_dev->max_speed_hz);
-diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
-index 336e5d185f5fe..4978dd4aba3cb 100644
 --- a/drivers/net/ethernet/qualcomm/qca_spi.c
 +++ b/drivers/net/ethernet/qualcomm/qca_spi.c
 @@ -49,6 +49,8 @@
@@ -86,10 +82,10 @@ index 336e5d185f5fe..4978dd4aba3cb 100644
  
 -      qca->intr_req++;
 +      set_bit(SPI_INTR, &qca->intr);
-       if (qca->spi_thread)
+       if (qca->spi_thread &&
+           qca->spi_thread->state != TASK_RUNNING)
                wake_up_process(qca->spi_thread);
-@@ -685,8 +686,7 @@ qcaspi_netdev_open(struct net_device *dev)
+@@ -686,8 +687,7 @@ qcaspi_netdev_open(struct net_device *de
        if (!qca)
                return -EINVAL;
  
@@ -99,8 +95,6 @@ index 336e5d185f5fe..4978dd4aba3cb 100644
        qca->sync = QCASPI_SYNC_UNKNOWN;
        qcafrm_fsm_init_spi(&qca->frm_handle);
  
-diff --git a/drivers/net/ethernet/qualcomm/qca_spi.h b/drivers/net/ethernet/qualcomm/qca_spi.h
-index d13a67e20d650..8d4767e9b9149 100644
 --- a/drivers/net/ethernet/qualcomm/qca_spi.h
 +++ b/drivers/net/ethernet/qualcomm/qca_spi.h
 @@ -92,8 +92,7 @@ struct qcaspi {
@@ -113,6 +107,3 @@ index d13a67e20d650..8d4767e9b9149 100644
        u16 reset_count;
  
  #ifdef CONFIG_DEBUG_FS
--- 
-2.43.0
-
diff --git a/queue-5.10/rdma-check-srq_type-during-create_srq.patch b/queue-5.10/rdma-check-srq_type-during-create_srq.patch
deleted file mode 100644 (file)
index f299895..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-From 4f0014a293620a6305d7d0c2450846d3e731a1d0 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 3 Oct 2020 20:20:05 -0300
-Subject: RDMA: Check srq_type during create_srq
-
-From: Jason Gunthorpe <jgg@nvidia.com>
-
-[ Upstream commit 652caba5b5501258a46d4b9279e0dbb6e5d42d75 ]
-
-uverbs was blocking srq_types the driver doesn't support based on the
-CREATE_XSRQ cmd_mask. Fix all drivers to check for supported srq_types
-during create_srq and move CREATE_XSRQ to the core code.
-
-Link: https://lore.kernel.org/r/5-v1-caa70ba3d1ab+1436e-ucmd_mask_jgg@nvidia.com
-Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
-Stable-dep-of: 36ab7ada64ca ("RDMA/mlx5: Add check for srq max_sge attribute")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/infiniband/core/device.c              | 1 +
- drivers/infiniband/hw/cxgb4/qp.c              | 3 +++
- drivers/infiniband/hw/hns/hns_roce_srq.c      | 4 ++++
- drivers/infiniband/hw/mlx4/main.c             | 3 ---
- drivers/infiniband/hw/mlx4/srq.c              | 4 ++++
- drivers/infiniband/hw/mlx5/main.c             | 3 +--
- drivers/infiniband/hw/mlx5/srq.c              | 5 +++++
- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c   | 3 +++
- drivers/infiniband/hw/qedr/main.c             | 3 ---
- drivers/infiniband/hw/qedr/verbs.c            | 4 ++++
- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +-
- drivers/infiniband/sw/rxe/rxe_verbs.c         | 3 +++
- drivers/infiniband/sw/siw/siw_verbs.c         | 3 +++
- 13 files changed, 32 insertions(+), 9 deletions(-)
-
-diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
-index b3c97f4f93b9f..1ceb9fe9382a9 100644
---- a/drivers/infiniband/core/device.c
-+++ b/drivers/infiniband/core/device.c
-@@ -610,6 +610,7 @@ struct ib_device *_ib_alloc_device(size_t size)
-               BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ) |
-               BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP) |
-               BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ) |
-+              BIT_ULL(IB_USER_VERBS_CMD_CREATE_XSRQ) |
-               BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_MW) |
-               BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD) |
-               BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR) |
-diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c
-index 12e5461581cb4..fb361bf9a0cef 100644
---- a/drivers/infiniband/hw/cxgb4/qp.c
-+++ b/drivers/infiniband/hw/cxgb4/qp.c
-@@ -2682,6 +2682,9 @@ int c4iw_create_srq(struct ib_srq *ib_srq, struct ib_srq_init_attr *attrs,
-       int ret;
-       int wr_len;
-+      if (attrs->srq_type != IB_SRQT_BASIC)
-+              return -EOPNOTSUPP;
-+
-       pr_debug("%s ib_pd %p\n", __func__, pd);
-       php = to_c4iw_pd(pd);
-diff --git a/drivers/infiniband/hw/hns/hns_roce_srq.c b/drivers/infiniband/hw/hns/hns_roce_srq.c
-index 02e2416b5fed6..b9d5d5cf10ad3 100644
---- a/drivers/infiniband/hw/hns/hns_roce_srq.c
-+++ b/drivers/infiniband/hw/hns/hns_roce_srq.c
-@@ -292,6 +292,10 @@ int hns_roce_create_srq(struct ib_srq *ib_srq,
-       int ret;
-       u32 cqn;
-+      if (init_attr->srq_type != IB_SRQT_BASIC &&
-+          init_attr->srq_type != IB_SRQT_XRC)
-+              return -EOPNOTSUPP;
-+
-       /* Check the actual SRQ wqe and SRQ sge num */
-       if (init_attr->attr.max_wr >= hr_dev->caps.max_srq_wrs ||
-           init_attr->attr.max_sge > hr_dev->caps.max_srq_sges)
-diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
-index 300a0a7827388..77ac0289eef12 100644
---- a/drivers/infiniband/hw/mlx4/main.c
-+++ b/drivers/infiniband/hw/mlx4/main.c
-@@ -2654,9 +2654,6 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
-       ibdev->ib_dev.num_comp_vectors  = dev->caps.num_comp_vectors;
-       ibdev->ib_dev.dev.parent        = &dev->persist->pdev->dev;
--      ibdev->ib_dev.uverbs_cmd_mask |=
--              (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ);
--
-       ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_ops);
-       ibdev->ib_dev.uverbs_ex_cmd_mask |=
-               (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ) |
-diff --git a/drivers/infiniband/hw/mlx4/srq.c b/drivers/infiniband/hw/mlx4/srq.c
-index bf618529e734d..6a381751c0d8e 100644
---- a/drivers/infiniband/hw/mlx4/srq.c
-+++ b/drivers/infiniband/hw/mlx4/srq.c
-@@ -86,6 +86,10 @@ int mlx4_ib_create_srq(struct ib_srq *ib_srq,
-       int err;
-       int i;
-+      if (init_attr->srq_type != IB_SRQT_BASIC &&
-+          init_attr->srq_type != IB_SRQT_XRC)
-+              return -EOPNOTSUPP;
-+
-       /* Sanity check SRQ size before proceeding */
-       if (init_attr->attr.max_wr  >= dev->dev->caps.max_srq_wqes ||
-           init_attr->attr.max_sge >  dev->dev->caps.max_srq_sge)
-diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
-index 73b46414ddafe..112081c38cb2b 100644
---- a/drivers/infiniband/hw/mlx5/main.c
-+++ b/drivers/infiniband/hw/mlx5/main.c
-@@ -4155,8 +4155,7 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev)
-       dev->ib_dev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_CREATE_AH)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_AH)          |
--              (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ);
-+              (1ull << IB_USER_VERBS_CMD_DESTROY_AH);
-       dev->ib_dev.uverbs_ex_cmd_mask |=
-               (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ)        |
-               (1ull << IB_USER_VERBS_EX_CMD_CREATE_QP)        |
-diff --git a/drivers/infiniband/hw/mlx5/srq.c b/drivers/infiniband/hw/mlx5/srq.c
-index e2f720eec1e18..12d485872e771 100644
---- a/drivers/infiniband/hw/mlx5/srq.c
-+++ b/drivers/infiniband/hw/mlx5/srq.c
-@@ -226,6 +226,11 @@ int mlx5_ib_create_srq(struct ib_srq *ib_srq,
-       struct mlx5_srq_attr in = {};
-       __u32 max_srq_wqes = 1 << MLX5_CAP_GEN(dev->mdev, log_max_srq_sz);
-+      if (init_attr->srq_type != IB_SRQT_BASIC &&
-+          init_attr->srq_type != IB_SRQT_XRC &&
-+          init_attr->srq_type != IB_SRQT_TM)
-+              return -EOPNOTSUPP;
-+
-       /* Sanity check SRQ size before proceeding */
-       if (init_attr->attr.max_wr >= max_srq_wqes) {
-               mlx5_ib_dbg(dev, "max_wr %d, cap %d\n",
-diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
-index 81a560056cd52..9d047675947fd 100644
---- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
-+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
-@@ -1770,6 +1770,9 @@ int ocrdma_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init_attr,
-       struct ocrdma_dev *dev = get_ocrdma_dev(ibsrq->device);
-       struct ocrdma_srq *srq = get_ocrdma_srq(ibsrq);
-+      if (init_attr->srq_type != IB_SRQT_BASIC)
-+              return -EOPNOTSUPP;
-+
-       if (init_attr->attr.max_sge > dev->attr.max_recv_sge)
-               return -EINVAL;
-       if (init_attr->attr.max_wr > dev->attr.max_rqe)
-diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c
-index e30edbaa30399..ad4a4b431258d 100644
---- a/drivers/infiniband/hw/qedr/main.c
-+++ b/drivers/infiniband/hw/qedr/main.c
-@@ -188,9 +188,6 @@ static void qedr_roce_register_device(struct qedr_dev *dev)
-       dev->ibdev.node_type = RDMA_NODE_IB_CA;
-       ib_set_device_ops(&dev->ibdev, &qedr_roce_dev_ops);
--
--      dev->ibdev.uverbs_cmd_mask |=
--              QEDR_UVERBS(CREATE_XSRQ);
- }
- static const struct ib_device_ops qedr_dev_ops = {
-diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
-index d382ac21159c2..f8c35bdb55752 100644
---- a/drivers/infiniband/hw/qedr/verbs.c
-+++ b/drivers/infiniband/hw/qedr/verbs.c
-@@ -1547,6 +1547,10 @@ int qedr_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init_attr,
-                "create SRQ called from %s (pd %p)\n",
-                (udata) ? "User lib" : "kernel", pd);
-+      if (init_attr->srq_type != IB_SRQT_BASIC &&
-+          init_attr->srq_type != IB_SRQT_XRC)
-+              return -EOPNOTSUPP;
-+
-       rc = qedr_check_srq_params(dev, init_attr, udata);
-       if (rc)
-               return -EINVAL;
-diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c
-index 082208f9aa900..bdc2703532c6c 100644
---- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c
-+++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c
-@@ -121,7 +121,7 @@ int pvrdma_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init_attr,
-               dev_warn(&dev->pdev->dev,
-                        "shared receive queue type %d not supported\n",
-                        init_attr->srq_type);
--              return -EINVAL;
-+              return -EOPNOTSUPP;
-       }
-       if (init_attr->attr.max_wr  > dev->dsr->caps.max_srq_wr ||
-diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c
-index 641373241dbe5..1bec084fe2f8b 100644
---- a/drivers/infiniband/sw/rxe/rxe_verbs.c
-+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c
-@@ -265,6 +265,9 @@ static int rxe_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init,
-       struct rxe_srq *srq = to_rsrq(ibsrq);
-       struct rxe_create_srq_resp __user *uresp = NULL;
-+      if (init->srq_type != IB_SRQT_BASIC)
-+              return -EOPNOTSUPP;
-+
-       if (udata) {
-               if (udata->outlen < sizeof(*uresp))
-                       return -EINVAL;
-diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
-index 1d4e0dc550e42..ae4619d055374 100644
---- a/drivers/infiniband/sw/siw/siw_verbs.c
-+++ b/drivers/infiniband/sw/siw/siw_verbs.c
-@@ -1592,6 +1592,9 @@ int siw_create_srq(struct ib_srq *base_srq,
-                                         base_ucontext);
-       int rv;
-+      if (init_attrs->srq_type != IB_SRQT_BASIC)
-+              return -EOPNOTSUPP;
-+
-       if (atomic_inc_return(&sdev->num_srq) > SIW_MAX_SRQ) {
-               siw_dbg_pd(base_srq->pd, "too many SRQ's\n");
-               rv = -ENOMEM;
--- 
-2.43.0
-
index c8d2e774fc8823a1d370b53ad778e1350a605782..c9b6d10df0f4fb7c006aae8efe9b87e503fa22b1 100644 (file)
@@ -22,18 +22,13 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
 
 --- a/drivers/infiniband/hw/mlx5/srq.c
 +++ b/drivers/infiniband/hw/mlx5/srq.c
-@@ -225,17 +225,20 @@ int mlx5_ib_create_srq(struct ib_srq *ib
+@@ -225,12 +225,15 @@ int mlx5_ib_create_srq(struct ib_srq *ib
        int err;
        struct mlx5_srq_attr in = {};
        __u32 max_srq_wqes = 1 << MLX5_CAP_GEN(dev->mdev, log_max_srq_sz);
 +      __u32 max_sge_sz =  MLX5_CAP_GEN(dev->mdev, max_wqe_sz_rq) /
 +                          sizeof(struct mlx5_wqe_data_seg);
  
-       if (init_attr->srq_type != IB_SRQT_BASIC &&
-           init_attr->srq_type != IB_SRQT_XRC &&
-           init_attr->srq_type != IB_SRQT_TM)
-               return -EOPNOTSUPP;
 -      /* Sanity check SRQ size before proceeding */
 -      if (init_attr->attr.max_wr >= max_srq_wqes) {
 -              mlx5_ib_dbg(dev, "max_wr %d, cap %d\n",
diff --git a/queue-5.10/rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch b/queue-5.10/rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch
deleted file mode 100644 (file)
index a314625..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-From 16d292747c8eba92ed2837d652551b91ecd55364 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 3 Oct 2020 20:20:04 -0300
-Subject: RDMA: Move more uverbs_cmd_mask settings to the core
-
-From: Jason Gunthorpe <jgg@nvidia.com>
-
-[ Upstream commit 44ce37bc8bf30283d16c5e5f20964b638bebd429 ]
-
-These functions all depend on the driver providing a specific op:
-
-- REREG_MR is rereg_user_mr(). bnxt_re set this without providing the op
-- ATTACH/DEATCH_MCAST is attach_mcast()/detach_mcast(). usnic set this
-  without providing the op
-- OPEN_QP doesn't involve the driver but requires a XRCD. qedr provides
-  xrcd but forgot to set it, usnic doesn't provide XRCD but set it anyhow.
-- OPEN/CLOSE_XRCD are the ops alloc_xrcd()/dealloc_xrcd()
-- CREATE_SRQ/DESTROY_SRQ are the ops create_srq()/destroy_srq()
-- QUERY/MODIFY_SRQ is op query_srq()/modify_srq(). hns sets this but
-  sometimes supplies a NULL op.
-- RESIZE_CQ is op resize_cq(). bnxt_re sets this boes doesn't supply an op
-- ALLOC/DEALLOC_MW is alloc_mw()/dealloc_mw(). cxgb4 provided an
-  (now deleted) implementation but no userspace
-
-All drivers were checked that no drivers provide the op without also
-setting uverbs_cmd_mask so this should have no functional change.
-
-Link: https://lore.kernel.org/r/4-v1-caa70ba3d1ab+1436e-ucmd_mask_jgg@nvidia.com
-Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
-Stable-dep-of: 36ab7ada64ca ("RDMA/mlx5: Add check for srq max_sge attribute")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/infiniband/core/device.c              | 16 ++++++++++++-
- drivers/infiniband/core/uverbs_cmd.c          |  8 +++----
- drivers/infiniband/hw/bnxt_re/main.c          |  6 -----
- drivers/infiniband/hw/cxgb4/provider.c        |  5 +---
- drivers/infiniband/hw/hns/hns_roce_main.c     | 14 ++---------
- drivers/infiniband/hw/mlx4/main.c             | 20 ++--------------
- drivers/infiniband/hw/mlx5/main.c             | 23 +++----------------
- drivers/infiniband/hw/mthca/mthca_provider.c  | 10 --------
- drivers/infiniband/hw/ocrdma/ocrdma_main.c    |  5 ----
- drivers/infiniband/hw/qedr/main.c             |  8 +------
- drivers/infiniband/hw/usnic/usnic_ib_main.c   |  5 ----
- .../infiniband/hw/vmw_pvrdma/pvrdma_main.c    |  4 ----
- drivers/infiniband/sw/rdmavt/vt.c             |  7 ------
- drivers/infiniband/sw/rxe/rxe_verbs.c         |  9 +-------
- drivers/infiniband/sw/siw/siw_main.c          |  6 +----
- 15 files changed, 30 insertions(+), 116 deletions(-)
-
-diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
-index cbb6a7c69360c..b3c97f4f93b9f 100644
---- a/drivers/infiniband/core/device.c
-+++ b/drivers/infiniband/core/device.c
-@@ -284,6 +284,7 @@ static void ib_device_check_mandatory(struct ib_device *device)
-               IB_MANDATORY_FUNC(poll_cq),
-               IB_MANDATORY_FUNC(req_notify_cq),
-               IB_MANDATORY_FUNC(get_dma_mr),
-+              IB_MANDATORY_FUNC(reg_user_mr),
-               IB_MANDATORY_FUNC(dereg_mr),
-               IB_MANDATORY_FUNC(get_port_immutable)
-       };
-@@ -601,20 +602,33 @@ struct ib_device *_ib_alloc_device(size_t size)
-       INIT_WORK(&device->unregistration_work, ib_unregister_work);
-       device->uverbs_cmd_mask =
-+              BIT_ULL(IB_USER_VERBS_CMD_ALLOC_MW) |
-               BIT_ULL(IB_USER_VERBS_CMD_ALLOC_PD) |
-+              BIT_ULL(IB_USER_VERBS_CMD_ATTACH_MCAST) |
-+              BIT_ULL(IB_USER_VERBS_CMD_CLOSE_XRCD) |
-               BIT_ULL(IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
-               BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ) |
-               BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP) |
-+              BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ) |
-+              BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_MW) |
-               BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD) |
-               BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR) |
-               BIT_ULL(IB_USER_VERBS_CMD_DESTROY_CQ) |
-               BIT_ULL(IB_USER_VERBS_CMD_DESTROY_QP) |
-+              BIT_ULL(IB_USER_VERBS_CMD_DESTROY_SRQ) |
-+              BIT_ULL(IB_USER_VERBS_CMD_DETACH_MCAST) |
-               BIT_ULL(IB_USER_VERBS_CMD_GET_CONTEXT) |
-               BIT_ULL(IB_USER_VERBS_CMD_MODIFY_QP) |
-+              BIT_ULL(IB_USER_VERBS_CMD_MODIFY_SRQ) |
-+              BIT_ULL(IB_USER_VERBS_CMD_OPEN_QP) |
-+              BIT_ULL(IB_USER_VERBS_CMD_OPEN_XRCD) |
-               BIT_ULL(IB_USER_VERBS_CMD_QUERY_DEVICE) |
-               BIT_ULL(IB_USER_VERBS_CMD_QUERY_PORT) |
-               BIT_ULL(IB_USER_VERBS_CMD_QUERY_QP) |
--              BIT_ULL(IB_USER_VERBS_CMD_REG_MR);
-+              BIT_ULL(IB_USER_VERBS_CMD_QUERY_SRQ) |
-+              BIT_ULL(IB_USER_VERBS_CMD_REG_MR) |
-+              BIT_ULL(IB_USER_VERBS_CMD_REREG_MR) |
-+              BIT_ULL(IB_USER_VERBS_CMD_RESIZE_CQ);
-       device->uverbs_ex_cmd_mask =
-               BIT_ULL(IB_USER_VERBS_EX_CMD_CREATE_FLOW) |
-diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
-index 158f9eadc4e95..36fb509ea24b3 100644
---- a/drivers/infiniband/core/uverbs_cmd.c
-+++ b/drivers/infiniband/core/uverbs_cmd.c
-@@ -4024,8 +4024,7 @@ const struct uapi_definition uverbs_def_write_intf[] = {
-               DECLARE_UVERBS_WRITE(
-                       IB_USER_VERBS_CMD_CLOSE_XRCD,
-                       ib_uverbs_close_xrcd,
--                      UAPI_DEF_WRITE_I(struct ib_uverbs_close_xrcd),
--                      UAPI_DEF_METHOD_NEEDS_FN(dealloc_xrcd)),
-+                      UAPI_DEF_WRITE_I(struct ib_uverbs_close_xrcd)),
-               DECLARE_UVERBS_WRITE(IB_USER_VERBS_CMD_OPEN_QP,
-                                    ib_uverbs_open_qp,
-                                    UAPI_DEF_WRITE_UDATA_IO(
-@@ -4035,8 +4034,9 @@ const struct uapi_definition uverbs_def_write_intf[] = {
-                                    ib_uverbs_open_xrcd,
-                                    UAPI_DEF_WRITE_UDATA_IO(
-                                            struct ib_uverbs_open_xrcd,
--                                           struct ib_uverbs_open_xrcd_resp),
--                                   UAPI_DEF_METHOD_NEEDS_FN(alloc_xrcd))),
-+                                           struct ib_uverbs_open_xrcd_resp)),
-+              UAPI_DEF_OBJ_NEEDS_FN(alloc_xrcd),
-+              UAPI_DEF_OBJ_NEEDS_FN(dealloc_xrcd)),
-       {},
- };
-diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c
-index 0be439c73bef4..195fbfe1d13d5 100644
---- a/drivers/infiniband/hw/bnxt_re/main.c
-+++ b/drivers/infiniband/hw/bnxt_re/main.c
-@@ -711,12 +711,6 @@ static int bnxt_re_register_ib(struct bnxt_re_dev *rdev)
-       /* User space */
-       ibdev->uverbs_cmd_mask |=
--                      (1ull << IB_USER_VERBS_CMD_REREG_MR)            |
--                      (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--                      (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)          |
--                      (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ)          |
--                      (1ull << IB_USER_VERBS_CMD_QUERY_SRQ)           |
--                      (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ)         |
-                       (1ull << IB_USER_VERBS_CMD_CREATE_AH)           |
-                       (1ull << IB_USER_VERBS_CMD_MODIFY_AH)           |
-                       (1ull << IB_USER_VERBS_CMD_QUERY_AH)            |
-diff --git a/drivers/infiniband/hw/cxgb4/provider.c b/drivers/infiniband/hw/cxgb4/provider.c
-index c692407dcaa40..49c173ae76b69 100644
---- a/drivers/infiniband/hw/cxgb4/provider.c
-+++ b/drivers/infiniband/hw/cxgb4/provider.c
-@@ -537,10 +537,7 @@ void c4iw_register_device(struct work_struct *work)
-           (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) |
-           (1ull << IB_USER_VERBS_CMD_POLL_CQ) |
-           (1ull << IB_USER_VERBS_CMD_POST_SEND) |
--          (1ull << IB_USER_VERBS_CMD_POST_RECV) |
--          (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
--          (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
--          (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ);
-+          (1ull << IB_USER_VERBS_CMD_POST_RECV);
-       dev->ibdev.node_type = RDMA_NODE_RNIC;
-       BUILD_BUG_ON(sizeof(C4IW_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX);
-       memcpy(dev->ibdev.node_desc, C4IW_NODE_DESC, sizeof(C4IW_NODE_DESC));
-diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
-index 3956da653901b..9352f0a3073e6 100644
---- a/drivers/infiniband/hw/hns/hns_roce_main.c
-+++ b/drivers/infiniband/hw/hns/hns_roce_main.c
-@@ -496,18 +496,12 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev)
-       ib_dev->local_dma_lkey = hr_dev->caps.reserved_lkey;
-       ib_dev->num_comp_vectors = hr_dev->caps.num_comp_vectors;
--      if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_REREG_MR) {
--              ib_dev->uverbs_cmd_mask |= (1ULL << IB_USER_VERBS_CMD_REREG_MR);
-+      if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_REREG_MR)
-               ib_set_device_ops(ib_dev, &hns_roce_dev_mr_ops);
--      }
-       /* MW */
--      if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_MW) {
--              ib_dev->uverbs_cmd_mask |=
--                                      (1ULL << IB_USER_VERBS_CMD_ALLOC_MW) |
--                                      (1ULL << IB_USER_VERBS_CMD_DEALLOC_MW);
-+      if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_MW)
-               ib_set_device_ops(ib_dev, &hns_roce_dev_mw_ops);
--      }
-       /* FRMR */
-       if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_FRMR)
-@@ -516,10 +510,6 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev)
-       /* SRQ */
-       if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ) {
-               ib_dev->uverbs_cmd_mask |=
--                              (1ULL << IB_USER_VERBS_CMD_CREATE_SRQ) |
--                              (1ULL << IB_USER_VERBS_CMD_MODIFY_SRQ) |
--                              (1ULL << IB_USER_VERBS_CMD_QUERY_SRQ) |
--                              (1ULL << IB_USER_VERBS_CMD_DESTROY_SRQ) |
-                               (1ULL << IB_USER_VERBS_CMD_POST_SRQ_RECV);
-               ib_set_device_ops(ib_dev, &hns_roce_dev_srq_ops);
-               ib_set_device_ops(ib_dev, hr_dev->hw->hns_roce_dev_srq_ops);
-diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
-index 6058128b0f56a..300a0a7827388 100644
---- a/drivers/infiniband/hw/mlx4/main.c
-+++ b/drivers/infiniband/hw/mlx4/main.c
-@@ -2655,16 +2655,7 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
-       ibdev->ib_dev.dev.parent        = &dev->persist->pdev->dev;
-       ibdev->ib_dev.uverbs_cmd_mask |=
--              (1ull << IB_USER_VERBS_CMD_REREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--              (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST)        |
--              (1ull << IB_USER_VERBS_CMD_DETACH_MCAST)        |
--              (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)          |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ)          |
--              (1ull << IB_USER_VERBS_CMD_QUERY_SRQ)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ)         |
--              (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ)         |
--              (1ull << IB_USER_VERBS_CMD_OPEN_QP);
-+              (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ);
-       ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_ops);
-       ibdev->ib_dev.uverbs_ex_cmd_mask |=
-@@ -2679,17 +2670,10 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
-               ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_wq_ops);
-       if (dev->caps.flags & MLX4_DEV_CAP_FLAG_MEM_WINDOW ||
--          dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN) {
--              ibdev->ib_dev.uverbs_cmd_mask |=
--                      (1ull << IB_USER_VERBS_CMD_ALLOC_MW) |
--                      (1ull << IB_USER_VERBS_CMD_DEALLOC_MW);
-+          dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN)
-               ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_mw_ops);
--      }
-       if (dev->caps.flags & MLX4_DEV_CAP_FLAG_XRC) {
--              ibdev->ib_dev.uverbs_cmd_mask |=
--                      (1ull << IB_USER_VERBS_CMD_OPEN_XRCD) |
--                      (1ull << IB_USER_VERBS_CMD_CLOSE_XRCD);
-               ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_xrc_ops);
-       }
-diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
-index 4e83ba99877fd..73b46414ddafe 100644
---- a/drivers/infiniband/hw/mlx5/main.c
-+++ b/drivers/infiniband/hw/mlx5/main.c
-@@ -4156,16 +4156,7 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev)
-       dev->ib_dev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_CREATE_AH)           |
-               (1ull << IB_USER_VERBS_CMD_DESTROY_AH)          |
--              (1ull << IB_USER_VERBS_CMD_REREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--              (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST)        |
--              (1ull << IB_USER_VERBS_CMD_DETACH_MCAST)        |
--              (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)          |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ)          |
--              (1ull << IB_USER_VERBS_CMD_QUERY_SRQ)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ)         |
--              (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ)         |
--              (1ull << IB_USER_VERBS_CMD_OPEN_QP);
-+              (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ);
-       dev->ib_dev.uverbs_ex_cmd_mask |=
-               (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ)        |
-               (1ull << IB_USER_VERBS_EX_CMD_CREATE_QP)        |
-@@ -4181,19 +4172,11 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev)
-       dev->umr_fence = mlx5_get_umr_fence(MLX5_CAP_GEN(mdev, umr_fence));
--      if (MLX5_CAP_GEN(mdev, imaicl)) {
--              dev->ib_dev.uverbs_cmd_mask |=
--                      (1ull << IB_USER_VERBS_CMD_ALLOC_MW)    |
--                      (1ull << IB_USER_VERBS_CMD_DEALLOC_MW);
-+      if (MLX5_CAP_GEN(mdev, imaicl))
-               ib_set_device_ops(&dev->ib_dev, &mlx5_ib_dev_mw_ops);
--      }
--      if (MLX5_CAP_GEN(mdev, xrc)) {
--              dev->ib_dev.uverbs_cmd_mask |=
--                      (1ull << IB_USER_VERBS_CMD_OPEN_XRCD) |
--                      (1ull << IB_USER_VERBS_CMD_CLOSE_XRCD);
-+      if (MLX5_CAP_GEN(mdev, xrc))
-               ib_set_device_ops(&dev->ib_dev, &mlx5_ib_dev_xrc_ops);
--      }
-       if (MLX5_CAP_DEV_MEM(mdev, memic) ||
-           MLX5_CAP_GEN_64(dev->mdev, general_obj_types) &
-diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c
-index 86840afcfba63..ea4a8deabfb6f 100644
---- a/drivers/infiniband/hw/mthca/mthca_provider.c
-+++ b/drivers/infiniband/hw/mthca/mthca_provider.c
-@@ -1158,22 +1158,12 @@ int mthca_register_device(struct mthca_dev *dev)
-       if (ret)
-               return ret;
--      dev->ib_dev.uverbs_cmd_mask |=
--              (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--              (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST)        |
--              (1ull << IB_USER_VERBS_CMD_DETACH_MCAST);
-       dev->ib_dev.node_type            = RDMA_NODE_IB_CA;
-       dev->ib_dev.phys_port_cnt        = dev->limits.num_ports;
-       dev->ib_dev.num_comp_vectors     = 1;
-       dev->ib_dev.dev.parent           = &dev->pdev->dev;
-       if (dev->mthca_flags & MTHCA_FLAG_SRQ) {
--              dev->ib_dev.uverbs_cmd_mask     |=
--                      (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)          |
--                      (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ)          |
--                      (1ull << IB_USER_VERBS_CMD_QUERY_SRQ)           |
--                      (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ);
--
-               if (mthca_is_memfree(dev))
-                       ib_set_device_ops(&dev->ib_dev,
-                                         &mthca_dev_arbel_srq_ops);
-diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
-index e6611a7e8eeb2..b5c8b5a9a0939 100644
---- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
-+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
-@@ -205,7 +205,6 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
-       memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC,
-              sizeof(OCRDMA_NODE_DESC));
-       dev->ibdev.uverbs_cmd_mask |=
--          OCRDMA_UVERBS(RESIZE_CQ) |
-           OCRDMA_UVERBS(REQ_NOTIFY_CQ) |
-           OCRDMA_UVERBS(POLL_CQ) |
-           OCRDMA_UVERBS(POST_SEND) |
-@@ -228,10 +227,6 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
-       if (ocrdma_get_asic_type(dev) == OCRDMA_ASIC_GEN_SKH_R) {
-               dev->ibdev.uverbs_cmd_mask |=
--                   OCRDMA_UVERBS(CREATE_SRQ) |
--                   OCRDMA_UVERBS(MODIFY_SRQ) |
--                   OCRDMA_UVERBS(QUERY_SRQ) |
--                   OCRDMA_UVERBS(DESTROY_SRQ) |
-                    OCRDMA_UVERBS(POST_SRQ_RECV);
-               ib_set_device_ops(&dev->ibdev, &ocrdma_dev_srq_ops);
-diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c
-index 9ba44d9dbd1d3..e30edbaa30399 100644
---- a/drivers/infiniband/hw/qedr/main.c
-+++ b/drivers/infiniband/hw/qedr/main.c
-@@ -189,8 +189,7 @@ static void qedr_roce_register_device(struct qedr_dev *dev)
-       ib_set_device_ops(&dev->ibdev, &qedr_roce_dev_ops);
--      dev->ibdev.uverbs_cmd_mask |= QEDR_UVERBS(OPEN_XRCD) |
--              QEDR_UVERBS(CLOSE_XRCD) |
-+      dev->ibdev.uverbs_cmd_mask |=
-               QEDR_UVERBS(CREATE_XSRQ);
- }
-@@ -250,12 +249,7 @@ static int qedr_register_device(struct qedr_dev *dev)
-       memcpy(dev->ibdev.node_desc, QEDR_NODE_DESC, sizeof(QEDR_NODE_DESC));
-       dev->ibdev.uverbs_cmd_mask |=
--                                   QEDR_UVERBS(RESIZE_CQ) |
-                                    QEDR_UVERBS(REQ_NOTIFY_CQ) |
--                                   QEDR_UVERBS(CREATE_SRQ) |
--                                   QEDR_UVERBS(DESTROY_SRQ) |
--                                   QEDR_UVERBS(QUERY_SRQ) |
--                                   QEDR_UVERBS(MODIFY_SRQ) |
-                                    QEDR_UVERBS(POST_SRQ_RECV) |
-                                    QEDR_UVERBS(POLL_CQ) |
-                                    QEDR_UVERBS(POST_SEND) |
-diff --git a/drivers/infiniband/hw/usnic/usnic_ib_main.c b/drivers/infiniband/hw/usnic/usnic_ib_main.c
-index 7db5c1c7d06d2..1b63a491fa72d 100644
---- a/drivers/infiniband/hw/usnic/usnic_ib_main.c
-+++ b/drivers/infiniband/hw/usnic/usnic_ib_main.c
-@@ -398,11 +398,6 @@ static void *usnic_ib_device_add(struct pci_dev *dev)
-       us_ibdev->ib_dev.num_comp_vectors = USNIC_IB_NUM_COMP_VECTORS;
-       us_ibdev->ib_dev.dev.parent = &dev->dev;
--      us_ibdev->ib_dev.uverbs_cmd_mask |=
--              (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) |
--              (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) |
--              (1ull << IB_USER_VERBS_CMD_OPEN_QP);
--
-       ib_set_device_ops(&us_ibdev->ib_dev, &usnic_dev_ops);
-       rdma_set_device_sysfs_group(&us_ibdev->ib_dev, &usnic_attr_group);
-diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
-index 223977703f935..db19feabf51a9 100644
---- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
-+++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
-@@ -236,10 +236,6 @@ static int pvrdma_register_device(struct pvrdma_dev *dev)
-       /* Check if SRQ is supported by backend */
-       if (dev->dsr->caps.max_srq) {
-               dev->ib_dev.uverbs_cmd_mask |=
--                      (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)  |
--                      (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ)  |
--                      (1ull << IB_USER_VERBS_CMD_QUERY_SRQ)   |
--                      (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) |
-                       (1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV);
-               ib_set_device_ops(&dev->ib_dev, &pvrdma_dev_srq_ops);
-diff --git a/drivers/infiniband/sw/rdmavt/vt.c b/drivers/infiniband/sw/rdmavt/vt.c
-index 151e4acc26bd5..f1ec0311e5cc8 100644
---- a/drivers/infiniband/sw/rdmavt/vt.c
-+++ b/drivers/infiniband/sw/rdmavt/vt.c
-@@ -593,17 +593,10 @@ int rvt_register_device(struct rvt_dev_info *rdi)
-               (1ull << IB_USER_VERBS_CMD_MODIFY_AH)           |
-               (1ull << IB_USER_VERBS_CMD_QUERY_AH)            |
-               (1ull << IB_USER_VERBS_CMD_DESTROY_AH)          |
--              (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
-               (1ull << IB_USER_VERBS_CMD_POLL_CQ)             |
-               (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ)       |
-               (1ull << IB_USER_VERBS_CMD_POST_SEND)           |
-               (1ull << IB_USER_VERBS_CMD_POST_RECV)           |
--              (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST)        |
--              (1ull << IB_USER_VERBS_CMD_DETACH_MCAST)        |
--              (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)          |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ)          |
--              (1ull << IB_USER_VERBS_CMD_QUERY_SRQ)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ)         |
-               (1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV);
-       rdi->ibdev.node_type = RDMA_NODE_IB_CA;
-       if (!rdi->ibdev.num_comp_vectors)
-diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c
-index 8f63d0f186d7c..641373241dbe5 100644
---- a/drivers/infiniband/sw/rxe/rxe_verbs.c
-+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c
-@@ -1129,14 +1129,9 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name)
-                           rxe->ndev->dev_addr);
-       dev->uverbs_cmd_mask |=
--          BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ)
--          | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_SRQ)
--          | BIT_ULL(IB_USER_VERBS_CMD_QUERY_SRQ)
--          | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_SRQ)
--          | BIT_ULL(IB_USER_VERBS_CMD_POST_SRQ_RECV)
-+          BIT_ULL(IB_USER_VERBS_CMD_POST_SRQ_RECV)
-           | BIT_ULL(IB_USER_VERBS_CMD_POST_SEND)
-           | BIT_ULL(IB_USER_VERBS_CMD_POST_RECV)
--          | BIT_ULL(IB_USER_VERBS_CMD_RESIZE_CQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_POLL_CQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_PEEK_CQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_REQ_NOTIFY_CQ)
-@@ -1144,8 +1139,6 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name)
-           | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_AH)
-           | BIT_ULL(IB_USER_VERBS_CMD_QUERY_AH)
-           | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_AH)
--          | BIT_ULL(IB_USER_VERBS_CMD_ATTACH_MCAST)
--          | BIT_ULL(IB_USER_VERBS_CMD_DETACH_MCAST)
-           ;
-       ib_set_device_ops(dev, &rxe_dev_ops);
-diff --git a/drivers/infiniband/sw/siw/siw_main.c b/drivers/infiniband/sw/siw/siw_main.c
-index 7c6f534590b19..8d66a4a4a6ca6 100644
---- a/drivers/infiniband/sw/siw/siw_main.c
-+++ b/drivers/infiniband/sw/siw/siw_main.c
-@@ -335,11 +335,7 @@ static struct siw_device *siw_device_create(struct net_device *netdev)
-               (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) |
-               (1ull << IB_USER_VERBS_CMD_POST_SEND) |
-               (1ull << IB_USER_VERBS_CMD_POST_RECV) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
--              (1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV) |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ);
-+              (1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV);
-       base_dev->node_type = RDMA_NODE_RNIC;
-       memcpy(base_dev->node_desc, SIW_NODE_DESC_COMMON,
--- 
-2.43.0
-
diff --git a/queue-5.10/rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch b/queue-5.10/rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch
deleted file mode 100644 (file)
index 889c26b..0000000
+++ /dev/null
@@ -1,515 +0,0 @@
-From d1d6dbce8b7a3a750b3a720123af9a4508f169bd Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 3 Oct 2020 20:20:03 -0300
-Subject: RDMA: Remove elements in uverbs_cmd_mask that all drivers set
-
-From: Jason Gunthorpe <jgg@nvidia.com>
-
-[ Upstream commit c074bb1e30f9b51032245300798613a290e42f25 ]
-
-This is a step toward eliminating uverbs_cmd_mask. Preset this list in the
-core code. Only the op reg_user_mr wasn't already being required from the
-drivers.
-
-Link: https://lore.kernel.org/r/3-v1-caa70ba3d1ab+1436e-ucmd_mask_jgg@nvidia.com
-Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
-Stable-dep-of: 36ab7ada64ca ("RDMA/mlx5: Add check for srq max_sge attribute")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/infiniband/core/device.c               | 16 ++++++++++++++++
- drivers/infiniband/hw/bnxt_re/main.c           | 16 +---------------
- drivers/infiniband/hw/cxgb4/provider.c         | 16 +---------------
- drivers/infiniband/hw/efa/efa_main.c           | 16 +---------------
- drivers/infiniband/hw/hns/hns_roce_main.c      | 15 ---------------
- drivers/infiniband/hw/i40iw/i40iw_verbs.c      | 16 +---------------
- drivers/infiniband/hw/mlx4/main.c              | 16 +---------------
- drivers/infiniband/hw/mlx5/main.c              | 16 +---------------
- drivers/infiniband/hw/mthca/mthca_provider.c   | 16 +---------------
- drivers/infiniband/hw/ocrdma/ocrdma_main.c     | 16 +---------------
- drivers/infiniband/hw/qedr/main.c              | 15 +--------------
- drivers/infiniband/hw/usnic/usnic_ib_main.c    | 16 +---------------
- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 16 +---------------
- drivers/infiniband/sw/rdmavt/vt.c              | 16 +---------------
- drivers/infiniband/sw/rxe/rxe_verbs.c          | 17 ++---------------
- drivers/infiniband/sw/siw/siw_main.c           | 16 +---------------
- 16 files changed, 31 insertions(+), 224 deletions(-)
-
-diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
-index 94c3bad72cc59..cbb6a7c69360c 100644
---- a/drivers/infiniband/core/device.c
-+++ b/drivers/infiniband/core/device.c
-@@ -600,6 +600,22 @@ struct ib_device *_ib_alloc_device(size_t size)
-       init_completion(&device->unreg_completion);
-       INIT_WORK(&device->unregistration_work, ib_unregister_work);
-+      device->uverbs_cmd_mask =
-+              BIT_ULL(IB_USER_VERBS_CMD_ALLOC_PD) |
-+              BIT_ULL(IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
-+              BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ) |
-+              BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP) |
-+              BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD) |
-+              BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR) |
-+              BIT_ULL(IB_USER_VERBS_CMD_DESTROY_CQ) |
-+              BIT_ULL(IB_USER_VERBS_CMD_DESTROY_QP) |
-+              BIT_ULL(IB_USER_VERBS_CMD_GET_CONTEXT) |
-+              BIT_ULL(IB_USER_VERBS_CMD_MODIFY_QP) |
-+              BIT_ULL(IB_USER_VERBS_CMD_QUERY_DEVICE) |
-+              BIT_ULL(IB_USER_VERBS_CMD_QUERY_PORT) |
-+              BIT_ULL(IB_USER_VERBS_CMD_QUERY_QP) |
-+              BIT_ULL(IB_USER_VERBS_CMD_REG_MR);
-+
-       device->uverbs_ex_cmd_mask =
-               BIT_ULL(IB_USER_VERBS_EX_CMD_CREATE_FLOW) |
-               BIT_ULL(IB_USER_VERBS_EX_CMD_CREATE_RWQ_IND_TBL) |
-diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c
-index 76030eac49a37..0be439c73bef4 100644
---- a/drivers/infiniband/hw/bnxt_re/main.c
-+++ b/drivers/infiniband/hw/bnxt_re/main.c
-@@ -710,23 +710,9 @@ static int bnxt_re_register_ib(struct bnxt_re_dev *rdev)
-       ibdev->local_dma_lkey = BNXT_QPLIB_RSVD_LKEY;
-       /* User space */
--      ibdev->uverbs_cmd_mask =
--                      (1ull << IB_USER_VERBS_CMD_GET_CONTEXT)         |
--                      (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE)        |
--                      (1ull << IB_USER_VERBS_CMD_QUERY_PORT)          |
--                      (1ull << IB_USER_VERBS_CMD_ALLOC_PD)            |
--                      (1ull << IB_USER_VERBS_CMD_DEALLOC_PD)          |
--                      (1ull << IB_USER_VERBS_CMD_REG_MR)              |
-+      ibdev->uverbs_cmd_mask |=
-                       (1ull << IB_USER_VERBS_CMD_REREG_MR)            |
--                      (1ull << IB_USER_VERBS_CMD_DEREG_MR)            |
--                      (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--                      (1ull << IB_USER_VERBS_CMD_CREATE_CQ)           |
-                       (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--                      (1ull << IB_USER_VERBS_CMD_DESTROY_CQ)          |
--                      (1ull << IB_USER_VERBS_CMD_CREATE_QP)           |
--                      (1ull << IB_USER_VERBS_CMD_MODIFY_QP)           |
--                      (1ull << IB_USER_VERBS_CMD_QUERY_QP)            |
--                      (1ull << IB_USER_VERBS_CMD_DESTROY_QP)          |
-                       (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)          |
-                       (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ)          |
-                       (1ull << IB_USER_VERBS_CMD_QUERY_SRQ)           |
-diff --git a/drivers/infiniband/hw/cxgb4/provider.c b/drivers/infiniband/hw/cxgb4/provider.c
-index 8138c57a1e43b..c692407dcaa40 100644
---- a/drivers/infiniband/hw/cxgb4/provider.c
-+++ b/drivers/infiniband/hw/cxgb4/provider.c
-@@ -533,23 +533,9 @@ void c4iw_register_device(struct work_struct *work)
-       if (fastreg_support)
-               dev->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS;
-       dev->ibdev.local_dma_lkey = 0;
--      dev->ibdev.uverbs_cmd_mask =
--          (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) |
--          (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) |
--          (1ull << IB_USER_VERBS_CMD_QUERY_PORT) |
--          (1ull << IB_USER_VERBS_CMD_ALLOC_PD) |
--          (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) |
--          (1ull << IB_USER_VERBS_CMD_REG_MR) |
--          (1ull << IB_USER_VERBS_CMD_DEREG_MR) |
--          (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--          (1ull << IB_USER_VERBS_CMD_CREATE_CQ) |
--          (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) |
-+      dev->ibdev.uverbs_cmd_mask |=
-           (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) |
--          (1ull << IB_USER_VERBS_CMD_CREATE_QP) |
--          (1ull << IB_USER_VERBS_CMD_MODIFY_QP) |
--          (1ull << IB_USER_VERBS_CMD_QUERY_QP) |
-           (1ull << IB_USER_VERBS_CMD_POLL_CQ) |
--          (1ull << IB_USER_VERBS_CMD_DESTROY_QP) |
-           (1ull << IB_USER_VERBS_CMD_POST_SEND) |
-           (1ull << IB_USER_VERBS_CMD_POST_RECV) |
-           (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
-diff --git a/drivers/infiniband/hw/efa/efa_main.c b/drivers/infiniband/hw/efa/efa_main.c
-index cd41cd114ab63..ead0f84a323eb 100644
---- a/drivers/infiniband/hw/efa/efa_main.c
-+++ b/drivers/infiniband/hw/efa/efa_main.c
-@@ -308,21 +308,7 @@ static int efa_ib_device_add(struct efa_dev *dev)
-       dev->ibdev.num_comp_vectors = 1;
-       dev->ibdev.dev.parent = &pdev->dev;
--      dev->ibdev.uverbs_cmd_mask =
--              (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_PORT) |
--              (1ull << IB_USER_VERBS_CMD_ALLOC_PD) |
--              (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) |
--              (1ull << IB_USER_VERBS_CMD_REG_MR) |
--              (1ull << IB_USER_VERBS_CMD_DEREG_MR) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_CQ) |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_QP) |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_QP) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_QP) |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_QP) |
-+      dev->ibdev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_CREATE_AH) |
-               (1ull << IB_USER_VERBS_CMD_DESTROY_AH);
-diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
-index f62162771db51..3956da653901b 100644
---- a/drivers/infiniband/hw/hns/hns_roce_main.c
-+++ b/drivers/infiniband/hw/hns/hns_roce_main.c
-@@ -495,21 +495,6 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev)
-       ib_dev->phys_port_cnt = hr_dev->caps.num_ports;
-       ib_dev->local_dma_lkey = hr_dev->caps.reserved_lkey;
-       ib_dev->num_comp_vectors = hr_dev->caps.num_comp_vectors;
--      ib_dev->uverbs_cmd_mask =
--              (1ULL << IB_USER_VERBS_CMD_GET_CONTEXT) |
--              (1ULL << IB_USER_VERBS_CMD_QUERY_DEVICE) |
--              (1ULL << IB_USER_VERBS_CMD_QUERY_PORT) |
--              (1ULL << IB_USER_VERBS_CMD_ALLOC_PD) |
--              (1ULL << IB_USER_VERBS_CMD_DEALLOC_PD) |
--              (1ULL << IB_USER_VERBS_CMD_REG_MR) |
--              (1ULL << IB_USER_VERBS_CMD_DEREG_MR) |
--              (1ULL << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ULL << IB_USER_VERBS_CMD_CREATE_CQ) |
--              (1ULL << IB_USER_VERBS_CMD_DESTROY_CQ) |
--              (1ULL << IB_USER_VERBS_CMD_CREATE_QP) |
--              (1ULL << IB_USER_VERBS_CMD_MODIFY_QP) |
--              (1ULL << IB_USER_VERBS_CMD_QUERY_QP) |
--              (1ULL << IB_USER_VERBS_CMD_DESTROY_QP);
-       if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_REREG_MR) {
-               ib_dev->uverbs_cmd_mask |= (1ULL << IB_USER_VERBS_CMD_REREG_MR);
-diff --git a/drivers/infiniband/hw/i40iw/i40iw_verbs.c b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
-index 89654dc91d81a..713b2ec263422 100644
---- a/drivers/infiniband/hw/i40iw/i40iw_verbs.c
-+++ b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
-@@ -2667,25 +2667,11 @@ static struct i40iw_ib_device *i40iw_init_rdma_device(struct i40iw_device *iwdev
-       iwibdev->ibdev.node_type = RDMA_NODE_RNIC;
-       ether_addr_copy((u8 *)&iwibdev->ibdev.node_guid, netdev->dev_addr);
--      iwibdev->ibdev.uverbs_cmd_mask =
--          (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) |
--          (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) |
--          (1ull << IB_USER_VERBS_CMD_QUERY_PORT) |
--          (1ull << IB_USER_VERBS_CMD_ALLOC_PD) |
--          (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) |
--          (1ull << IB_USER_VERBS_CMD_REG_MR) |
--          (1ull << IB_USER_VERBS_CMD_DEREG_MR) |
--          (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--          (1ull << IB_USER_VERBS_CMD_CREATE_CQ) |
--          (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) |
-+      iwibdev->ibdev.uverbs_cmd_mask |=
-           (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) |
--          (1ull << IB_USER_VERBS_CMD_CREATE_QP) |
--          (1ull << IB_USER_VERBS_CMD_MODIFY_QP) |
--          (1ull << IB_USER_VERBS_CMD_QUERY_QP) |
-           (1ull << IB_USER_VERBS_CMD_POLL_CQ) |
-           (1ull << IB_USER_VERBS_CMD_CREATE_AH) |
-           (1ull << IB_USER_VERBS_CMD_DESTROY_AH) |
--          (1ull << IB_USER_VERBS_CMD_DESTROY_QP) |
-           (1ull << IB_USER_VERBS_CMD_POST_RECV) |
-           (1ull << IB_USER_VERBS_CMD_POST_SEND);
-       iwibdev->ibdev.phys_port_cnt = 1;
-diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
-index c62cdd6456962..6058128b0f56a 100644
---- a/drivers/infiniband/hw/mlx4/main.c
-+++ b/drivers/infiniband/hw/mlx4/main.c
-@@ -2654,23 +2654,9 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
-       ibdev->ib_dev.num_comp_vectors  = dev->caps.num_comp_vectors;
-       ibdev->ib_dev.dev.parent        = &dev->persist->pdev->dev;
--      ibdev->ib_dev.uverbs_cmd_mask   =
--              (1ull << IB_USER_VERBS_CMD_GET_CONTEXT)         |
--              (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE)        |
--              (1ull << IB_USER_VERBS_CMD_QUERY_PORT)          |
--              (1ull << IB_USER_VERBS_CMD_ALLOC_PD)            |
--              (1ull << IB_USER_VERBS_CMD_DEALLOC_PD)          |
--              (1ull << IB_USER_VERBS_CMD_REG_MR)              |
-+      ibdev->ib_dev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_REREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_DEREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_CQ)           |
-               (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_CQ)          |
--              (1ull << IB_USER_VERBS_CMD_CREATE_QP)           |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_QP)           |
--              (1ull << IB_USER_VERBS_CMD_QUERY_QP)            |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_QP)          |
-               (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST)        |
-               (1ull << IB_USER_VERBS_CMD_DETACH_MCAST)        |
-               (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)          |
-diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
-index d36436d4277a0..4e83ba99877fd 100644
---- a/drivers/infiniband/hw/mlx5/main.c
-+++ b/drivers/infiniband/hw/mlx5/main.c
-@@ -4153,25 +4153,11 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev)
-       struct mlx5_core_dev *mdev = dev->mdev;
-       int err;
--      dev->ib_dev.uverbs_cmd_mask     =
--              (1ull << IB_USER_VERBS_CMD_GET_CONTEXT)         |
--              (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE)        |
--              (1ull << IB_USER_VERBS_CMD_QUERY_PORT)          |
--              (1ull << IB_USER_VERBS_CMD_ALLOC_PD)            |
--              (1ull << IB_USER_VERBS_CMD_DEALLOC_PD)          |
-+      dev->ib_dev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_CREATE_AH)           |
-               (1ull << IB_USER_VERBS_CMD_DESTROY_AH)          |
--              (1ull << IB_USER_VERBS_CMD_REG_MR)              |
-               (1ull << IB_USER_VERBS_CMD_REREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_DEREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_CQ)           |
-               (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_CQ)          |
--              (1ull << IB_USER_VERBS_CMD_CREATE_QP)           |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_QP)           |
--              (1ull << IB_USER_VERBS_CMD_QUERY_QP)            |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_QP)          |
-               (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST)        |
-               (1ull << IB_USER_VERBS_CMD_DETACH_MCAST)        |
-               (1ull << IB_USER_VERBS_CMD_CREATE_SRQ)          |
-diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c
-index c4d9cdc4ee97e..86840afcfba63 100644
---- a/drivers/infiniband/hw/mthca/mthca_provider.c
-+++ b/drivers/infiniband/hw/mthca/mthca_provider.c
-@@ -1158,22 +1158,8 @@ int mthca_register_device(struct mthca_dev *dev)
-       if (ret)
-               return ret;
--      dev->ib_dev.uverbs_cmd_mask      =
--              (1ull << IB_USER_VERBS_CMD_GET_CONTEXT)         |
--              (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE)        |
--              (1ull << IB_USER_VERBS_CMD_QUERY_PORT)          |
--              (1ull << IB_USER_VERBS_CMD_ALLOC_PD)            |
--              (1ull << IB_USER_VERBS_CMD_DEALLOC_PD)          |
--              (1ull << IB_USER_VERBS_CMD_REG_MR)              |
--              (1ull << IB_USER_VERBS_CMD_DEREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_CQ)           |
-+      dev->ib_dev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_CQ)          |
--              (1ull << IB_USER_VERBS_CMD_CREATE_QP)           |
--              (1ull << IB_USER_VERBS_CMD_QUERY_QP)            |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_QP)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_QP)          |
-               (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST)        |
-               (1ull << IB_USER_VERBS_CMD_DETACH_MCAST);
-       dev->ib_dev.node_type            = RDMA_NODE_IB_CA;
-diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
-index 9b96661a71435..e6611a7e8eeb2 100644
---- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
-+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
-@@ -204,23 +204,9 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
-       BUILD_BUG_ON(sizeof(OCRDMA_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX);
-       memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC,
-              sizeof(OCRDMA_NODE_DESC));
--      dev->ibdev.uverbs_cmd_mask =
--          OCRDMA_UVERBS(GET_CONTEXT) |
--          OCRDMA_UVERBS(QUERY_DEVICE) |
--          OCRDMA_UVERBS(QUERY_PORT) |
--          OCRDMA_UVERBS(ALLOC_PD) |
--          OCRDMA_UVERBS(DEALLOC_PD) |
--          OCRDMA_UVERBS(REG_MR) |
--          OCRDMA_UVERBS(DEREG_MR) |
--          OCRDMA_UVERBS(CREATE_COMP_CHANNEL) |
--          OCRDMA_UVERBS(CREATE_CQ) |
-+      dev->ibdev.uverbs_cmd_mask |=
-           OCRDMA_UVERBS(RESIZE_CQ) |
--          OCRDMA_UVERBS(DESTROY_CQ) |
-           OCRDMA_UVERBS(REQ_NOTIFY_CQ) |
--          OCRDMA_UVERBS(CREATE_QP) |
--          OCRDMA_UVERBS(MODIFY_QP) |
--          OCRDMA_UVERBS(QUERY_QP) |
--          OCRDMA_UVERBS(DESTROY_QP) |
-           OCRDMA_UVERBS(POLL_CQ) |
-           OCRDMA_UVERBS(POST_SEND) |
-           OCRDMA_UVERBS(POST_RECV);
-diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c
-index d0bb61b7e419f..9ba44d9dbd1d3 100644
---- a/drivers/infiniband/hw/qedr/main.c
-+++ b/drivers/infiniband/hw/qedr/main.c
-@@ -249,27 +249,14 @@ static int qedr_register_device(struct qedr_dev *dev)
-       dev->ibdev.node_guid = dev->attr.node_guid;
-       memcpy(dev->ibdev.node_desc, QEDR_NODE_DESC, sizeof(QEDR_NODE_DESC));
--      dev->ibdev.uverbs_cmd_mask = QEDR_UVERBS(GET_CONTEXT) |
--                                   QEDR_UVERBS(QUERY_DEVICE) |
--                                   QEDR_UVERBS(QUERY_PORT) |
--                                   QEDR_UVERBS(ALLOC_PD) |
--                                   QEDR_UVERBS(DEALLOC_PD) |
--                                   QEDR_UVERBS(CREATE_COMP_CHANNEL) |
--                                   QEDR_UVERBS(CREATE_CQ) |
-+      dev->ibdev.uverbs_cmd_mask |=
-                                    QEDR_UVERBS(RESIZE_CQ) |
--                                   QEDR_UVERBS(DESTROY_CQ) |
-                                    QEDR_UVERBS(REQ_NOTIFY_CQ) |
--                                   QEDR_UVERBS(CREATE_QP) |
--                                   QEDR_UVERBS(MODIFY_QP) |
--                                   QEDR_UVERBS(QUERY_QP) |
--                                   QEDR_UVERBS(DESTROY_QP) |
-                                    QEDR_UVERBS(CREATE_SRQ) |
-                                    QEDR_UVERBS(DESTROY_SRQ) |
-                                    QEDR_UVERBS(QUERY_SRQ) |
-                                    QEDR_UVERBS(MODIFY_SRQ) |
-                                    QEDR_UVERBS(POST_SRQ_RECV) |
--                                   QEDR_UVERBS(REG_MR) |
--                                   QEDR_UVERBS(DEREG_MR) |
-                                    QEDR_UVERBS(POLL_CQ) |
-                                    QEDR_UVERBS(POST_SEND) |
-                                    QEDR_UVERBS(POST_RECV);
-diff --git a/drivers/infiniband/hw/usnic/usnic_ib_main.c b/drivers/infiniband/hw/usnic/usnic_ib_main.c
-index aa2e65fc5cd65..7db5c1c7d06d2 100644
---- a/drivers/infiniband/hw/usnic/usnic_ib_main.c
-+++ b/drivers/infiniband/hw/usnic/usnic_ib_main.c
-@@ -398,21 +398,7 @@ static void *usnic_ib_device_add(struct pci_dev *dev)
-       us_ibdev->ib_dev.num_comp_vectors = USNIC_IB_NUM_COMP_VECTORS;
-       us_ibdev->ib_dev.dev.parent = &dev->dev;
--      us_ibdev->ib_dev.uverbs_cmd_mask =
--              (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_PORT) |
--              (1ull << IB_USER_VERBS_CMD_ALLOC_PD) |
--              (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) |
--              (1ull << IB_USER_VERBS_CMD_REG_MR) |
--              (1ull << IB_USER_VERBS_CMD_DEREG_MR) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_CQ) |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_QP) |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_QP) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_QP) |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_QP) |
-+      us_ibdev->ib_dev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) |
-               (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) |
-               (1ull << IB_USER_VERBS_CMD_OPEN_QP);
-diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
-index 6895bac539907..223977703f935 100644
---- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
-+++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
-@@ -205,23 +205,9 @@ static int pvrdma_register_device(struct pvrdma_dev *dev)
-       dev->flags = 0;
-       dev->ib_dev.num_comp_vectors = 1;
-       dev->ib_dev.dev.parent = &dev->pdev->dev;
--      dev->ib_dev.uverbs_cmd_mask =
--              (1ull << IB_USER_VERBS_CMD_GET_CONTEXT)         |
--              (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE)        |
--              (1ull << IB_USER_VERBS_CMD_QUERY_PORT)          |
--              (1ull << IB_USER_VERBS_CMD_ALLOC_PD)            |
--              (1ull << IB_USER_VERBS_CMD_DEALLOC_PD)          |
--              (1ull << IB_USER_VERBS_CMD_REG_MR)              |
--              (1ull << IB_USER_VERBS_CMD_DEREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_CQ)           |
-+      dev->ib_dev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_POLL_CQ)             |
-               (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ)       |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_CQ)          |
--              (1ull << IB_USER_VERBS_CMD_CREATE_QP)           |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_QP)           |
--              (1ull << IB_USER_VERBS_CMD_QUERY_QP)            |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_QP)          |
-               (1ull << IB_USER_VERBS_CMD_POST_SEND)           |
-               (1ull << IB_USER_VERBS_CMD_POST_RECV)           |
-               (1ull << IB_USER_VERBS_CMD_CREATE_AH)           |
-diff --git a/drivers/infiniband/sw/rdmavt/vt.c b/drivers/infiniband/sw/rdmavt/vt.c
-index d1bbe66610cfe..151e4acc26bd5 100644
---- a/drivers/infiniband/sw/rdmavt/vt.c
-+++ b/drivers/infiniband/sw/rdmavt/vt.c
-@@ -588,28 +588,14 @@ int rvt_register_device(struct rvt_dev_info *rdi)
-        * exactly which functions rdmavt supports, nor do they know the ABI
-        * version, so we do all of this sort of stuff here.
-        */
--      rdi->ibdev.uverbs_cmd_mask =
--              (1ull << IB_USER_VERBS_CMD_GET_CONTEXT)         |
--              (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE)        |
--              (1ull << IB_USER_VERBS_CMD_QUERY_PORT)          |
--              (1ull << IB_USER_VERBS_CMD_ALLOC_PD)            |
--              (1ull << IB_USER_VERBS_CMD_DEALLOC_PD)          |
-+      rdi->ibdev.uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_CREATE_AH)           |
-               (1ull << IB_USER_VERBS_CMD_MODIFY_AH)           |
-               (1ull << IB_USER_VERBS_CMD_QUERY_AH)            |
-               (1ull << IB_USER_VERBS_CMD_DESTROY_AH)          |
--              (1ull << IB_USER_VERBS_CMD_REG_MR)              |
--              (1ull << IB_USER_VERBS_CMD_DEREG_MR)            |
--              (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_CQ)           |
-               (1ull << IB_USER_VERBS_CMD_RESIZE_CQ)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_CQ)          |
-               (1ull << IB_USER_VERBS_CMD_POLL_CQ)             |
-               (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ)       |
--              (1ull << IB_USER_VERBS_CMD_CREATE_QP)           |
--              (1ull << IB_USER_VERBS_CMD_QUERY_QP)            |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_QP)           |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_QP)          |
-               (1ull << IB_USER_VERBS_CMD_POST_SEND)           |
-               (1ull << IB_USER_VERBS_CMD_POST_RECV)           |
-               (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST)        |
-diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c
-index 512868c230238..8f63d0f186d7c 100644
---- a/drivers/infiniband/sw/rxe/rxe_verbs.c
-+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c
-@@ -1128,31 +1128,18 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name)
-       addrconf_addr_eui48((unsigned char *)&dev->node_guid,
-                           rxe->ndev->dev_addr);
--      dev->uverbs_cmd_mask = BIT_ULL(IB_USER_VERBS_CMD_GET_CONTEXT)
--          | BIT_ULL(IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL)
--          | BIT_ULL(IB_USER_VERBS_CMD_QUERY_DEVICE)
--          | BIT_ULL(IB_USER_VERBS_CMD_QUERY_PORT)
--          | BIT_ULL(IB_USER_VERBS_CMD_ALLOC_PD)
--          | BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD)
--          | BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ)
-+      dev->uverbs_cmd_mask |=
-+          BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_SRQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_QUERY_SRQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_SRQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_POST_SRQ_RECV)
--          | BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP)
--          | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_QP)
--          | BIT_ULL(IB_USER_VERBS_CMD_QUERY_QP)
--          | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_QP)
-           | BIT_ULL(IB_USER_VERBS_CMD_POST_SEND)
-           | BIT_ULL(IB_USER_VERBS_CMD_POST_RECV)
--          | BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_RESIZE_CQ)
--          | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_CQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_POLL_CQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_PEEK_CQ)
-           | BIT_ULL(IB_USER_VERBS_CMD_REQ_NOTIFY_CQ)
--          | BIT_ULL(IB_USER_VERBS_CMD_REG_MR)
--          | BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR)
-           | BIT_ULL(IB_USER_VERBS_CMD_CREATE_AH)
-           | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_AH)
-           | BIT_ULL(IB_USER_VERBS_CMD_QUERY_AH)
-diff --git a/drivers/infiniband/sw/siw/siw_main.c b/drivers/infiniband/sw/siw/siw_main.c
-index 5ba0893f1f017..7c6f534590b19 100644
---- a/drivers/infiniband/sw/siw/siw_main.c
-+++ b/drivers/infiniband/sw/siw/siw_main.c
-@@ -330,23 +330,9 @@ static struct siw_device *siw_device_create(struct net_device *netdev)
-               addrconf_addr_eui48((unsigned char *)&base_dev->node_guid,
-                                   addr);
-       }
--      base_dev->uverbs_cmd_mask =
--              (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_PORT) |
--              (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) |
--              (1ull << IB_USER_VERBS_CMD_ALLOC_PD) |
--              (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) |
--              (1ull << IB_USER_VERBS_CMD_REG_MR) |
--              (1ull << IB_USER_VERBS_CMD_DEREG_MR) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_CQ) |
-+      base_dev->uverbs_cmd_mask |=
-               (1ull << IB_USER_VERBS_CMD_POLL_CQ) |
-               (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) |
--              (1ull << IB_USER_VERBS_CMD_CREATE_QP) |
--              (1ull << IB_USER_VERBS_CMD_QUERY_QP) |
--              (1ull << IB_USER_VERBS_CMD_MODIFY_QP) |
--              (1ull << IB_USER_VERBS_CMD_DESTROY_QP) |
-               (1ull << IB_USER_VERBS_CMD_POST_SEND) |
-               (1ull << IB_USER_VERBS_CMD_POST_RECV) |
-               (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
--- 
-2.43.0
-
diff --git a/queue-5.10/sched-unbreak-wakeups.patch b/queue-5.10/sched-unbreak-wakeups.patch
deleted file mode 100644 (file)
index fc588ca..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-From 11b197bb78bb483ea0beda146466f859fb09f642 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 11 Jun 2021 10:28:11 +0200
-Subject: sched: Unbreak wakeups
-
-From: Peter Zijlstra <peterz@infradead.org>
-
-[ Upstream commit 37aadc687ab441bbcb693ddae613acf9afcea1ab ]
-
-Remove broken task->state references and let wake_up_process() DTRT.
-
-The anti-pattern in these patches breaks the ordering of ->state vs
-COND as described in the comment near set_current_state() and can lead
-to missed wakeups:
-
-       (OoO load, observes RUNNING)<-.
-       for (;;) {                    |
-         t->state = UNINTERRUPTIBLE; |
-         smp_mb();          ,----->  | (observes !COND)
-                             |        /
-         if (COND) ---------'       |  COND = 1;
-               break;               `- if (t->state != RUNNING)
-                                         wake_up_process(t); // not done
-         schedule(); // forever waiting
-       }
-       t->state = TASK_RUNNING;
-
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Reviewed-by: Davidlohr Bueso <dbueso@suse.de>
-Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Acked-by: Will Deacon <will@kernel.org>
-Link: https://lore.kernel.org/r/20210611082838.160855222@infradead.org
-Stable-dep-of: 2d7198278ece ("qca_spi: Make interrupt remembering atomic")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/qualcomm/qca_spi.c |  6 ++----
- drivers/usb/gadget/udc/max3420_udc.c    | 15 +++++----------
- drivers/usb/host/max3421-hcd.c          |  3 +--
- kernel/softirq.c                        |  2 +-
- 4 files changed, 9 insertions(+), 17 deletions(-)
-
-diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
-index ffa1846f5b4c4..336e5d185f5fe 100644
---- a/drivers/net/ethernet/qualcomm/qca_spi.c
-+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
-@@ -670,8 +670,7 @@ qcaspi_intr_handler(int irq, void *data)
-       struct qcaspi *qca = data;
-       qca->intr_req++;
--      if (qca->spi_thread &&
--          qca->spi_thread->state != TASK_RUNNING)
-+      if (qca->spi_thread)
-               wake_up_process(qca->spi_thread);
-       return IRQ_HANDLED;
-@@ -794,8 +793,7 @@ qcaspi_netdev_xmit(struct sk_buff *skb, struct net_device *dev)
-       netif_trans_update(dev);
--      if (qca->spi_thread &&
--          qca->spi_thread->state != TASK_RUNNING)
-+      if (qca->spi_thread)
-               wake_up_process(qca->spi_thread);
-       return NETDEV_TX_OK;
-diff --git a/drivers/usb/gadget/udc/max3420_udc.c b/drivers/usb/gadget/udc/max3420_udc.c
-index 91c9e9057cff3..d2a2b20cc1ad4 100644
---- a/drivers/usb/gadget/udc/max3420_udc.c
-+++ b/drivers/usb/gadget/udc/max3420_udc.c
-@@ -509,8 +509,7 @@ static irqreturn_t max3420_vbus_handler(int irq, void *dev_id)
-                            ? USB_STATE_POWERED : USB_STATE_NOTATTACHED);
-       spin_unlock_irqrestore(&udc->lock, flags);
--      if (udc->thread_task &&
--          udc->thread_task->state != TASK_RUNNING)
-+      if (udc->thread_task)
-               wake_up_process(udc->thread_task);
-       return IRQ_HANDLED;
-@@ -529,8 +528,7 @@ static irqreturn_t max3420_irq_handler(int irq, void *dev_id)
-       }
-       spin_unlock_irqrestore(&udc->lock, flags);
--      if (udc->thread_task &&
--          udc->thread_task->state != TASK_RUNNING)
-+      if (udc->thread_task)
-               wake_up_process(udc->thread_task);
-       return IRQ_HANDLED;
-@@ -1093,8 +1091,7 @@ static int max3420_wakeup(struct usb_gadget *gadget)
-       spin_unlock_irqrestore(&udc->lock, flags);
--      if (udc->thread_task &&
--          udc->thread_task->state != TASK_RUNNING)
-+      if (udc->thread_task)
-               wake_up_process(udc->thread_task);
-       return ret;
- }
-@@ -1117,8 +1114,7 @@ static int max3420_udc_start(struct usb_gadget *gadget,
-       udc->todo |= UDC_START;
-       spin_unlock_irqrestore(&udc->lock, flags);
--      if (udc->thread_task &&
--          udc->thread_task->state != TASK_RUNNING)
-+      if (udc->thread_task)
-               wake_up_process(udc->thread_task);
-       return 0;
-@@ -1137,8 +1133,7 @@ static int max3420_udc_stop(struct usb_gadget *gadget)
-       udc->todo |= UDC_START;
-       spin_unlock_irqrestore(&udc->lock, flags);
--      if (udc->thread_task &&
--          udc->thread_task->state != TASK_RUNNING)
-+      if (udc->thread_task)
-               wake_up_process(udc->thread_task);
-       return 0;
-diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c
-index b875da01c5309..21b1e5e1958a6 100644
---- a/drivers/usb/host/max3421-hcd.c
-+++ b/drivers/usb/host/max3421-hcd.c
-@@ -1139,8 +1139,7 @@ max3421_irq_handler(int irq, void *dev_id)
-       struct spi_device *spi = to_spi_device(hcd->self.controller);
-       struct max3421_hcd *max3421_hcd = hcd_to_max3421(hcd);
--      if (max3421_hcd->spi_thread &&
--          max3421_hcd->spi_thread->state != TASK_RUNNING)
-+      if (max3421_hcd->spi_thread)
-               wake_up_process(max3421_hcd->spi_thread);
-       if (!test_and_set_bit(ENABLE_IRQ, &max3421_hcd->todo))
-               disable_irq_nosync(spi->irq);
-diff --git a/kernel/softirq.c b/kernel/softirq.c
-index 09229ad822096..ded3dc45680bd 100644
---- a/kernel/softirq.c
-+++ b/kernel/softirq.c
-@@ -72,7 +72,7 @@ static void wakeup_softirqd(void)
-       /* Interrupts are disabled: no need to stop preemption */
-       struct task_struct *tsk = __this_cpu_read(ksoftirqd);
--      if (tsk && tsk->state != TASK_RUNNING)
-+      if (tsk)
-               wake_up_process(tsk);
- }
--- 
-2.43.0
-
index 7981c819e384ba93b9319167552a8b3053e27df2..8404c250aec8513effd79273c749f2d2524a8e59 100644 (file)
@@ -141,7 +141,6 @@ ipv6-prevent-possible-null-deref-in-fib6_nh_init.patch
 ipv6-prevent-possible-null-dereference-in-rt6_probe.patch
 xfrm6-check-ip6_dst_idev-return-value-in-xfrm6_get_s.patch
 netns-make-get_net_ns-handle-zero-refcount-net.patch
-sched-unbreak-wakeups.patch
 qca_spi-make-interrupt-remembering-atomic.patch
 net-sched-act_api-rely-on-rcu-in-tcf_idr_check_alloc.patch
 net-sched-act_api-fix-possible-infinite-loop-in-tcf_.patch
@@ -161,9 +160,6 @@ dmaengine-ioatdma-fix-error-path-in-ioat3_dma_probe.patch
 dmaengine-ioatdma-fix-kmemleak-in-ioat_pci_probe.patch
 dmaengine-ioatdma-fix-missing-kmem_cache_destroy.patch
 acpica-revert-acpica-avoid-info-mapping-multiple-bar.patch
-rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch
-rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch
-rdma-check-srq_type-during-create_srq.patch
 rdma-mlx5-add-check-for-srq-max_sge-attribute.patch
 alsa-hda-realtek-limit-mic-boost-on-n14ap7.patch
 drm-radeon-fix-ubsan-warning-in-kv_dpm.c.patch
@@ -185,12 +181,6 @@ s390-cpacf-make-use-of-invalid-opcode-produce-a-link.patch
 tracing-add-module_description-to-preemptirq_delay_t.patch
 x86-cpu-vfm-add-new-macros-to-work-with-vendor-famil.patch
 x86-cpu-fix-x86_match_cpu-to-match-just-x86_vendor_i.patch
-drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch
-drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch
-drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch
-drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch
-drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch
-drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch
 r8169-remove-unneeded-memory-barrier-in-rtl_tx.patch
 r8169-improve-rtl_tx.patch
 r8169-improve-rtl8169_start_xmit.patch