752-10-v6.7-net-ethernet-mtk_wed-move-mem_region-array-out-of-mt.patch 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. From: Lorenzo Bianconi <[email protected]>
  2. Date: Mon, 18 Sep 2023 12:29:09 +0200
  3. Subject: [PATCH] net: ethernet: mtk_wed: move mem_region array out of
  4. mtk_wed_mcu_load_firmware
  5. Remove mtk_wed_wo_memory_region boot structure in mtk_wed_wo.
  6. This is a preliminary patch to introduce WED support for MT7988 SoC.
  7. Signed-off-by: Lorenzo Bianconi <[email protected]>
  8. Signed-off-by: Paolo Abeni <[email protected]>
  9. ---
  10. --- a/drivers/net/ethernet/mediatek/mtk_wed_mcu.c
  11. +++ b/drivers/net/ethernet/mediatek/mtk_wed_mcu.c
  12. @@ -16,14 +16,30 @@
  13. #include "mtk_wed_wo.h"
  14. #include "mtk_wed.h"
  15. +static struct mtk_wed_wo_memory_region mem_region[] = {
  16. + [MTK_WED_WO_REGION_EMI] = {
  17. + .name = "wo-emi",
  18. + },
  19. + [MTK_WED_WO_REGION_ILM] = {
  20. + .name = "wo-ilm",
  21. + },
  22. + [MTK_WED_WO_REGION_DATA] = {
  23. + .name = "wo-data",
  24. + .shared = true,
  25. + },
  26. + [MTK_WED_WO_REGION_BOOT] = {
  27. + .name = "wo-boot",
  28. + },
  29. +};
  30. +
  31. static u32 wo_r32(struct mtk_wed_wo *wo, u32 reg)
  32. {
  33. - return readl(wo->boot.addr + reg);
  34. + return readl(mem_region[MTK_WED_WO_REGION_BOOT].addr + reg);
  35. }
  36. static void wo_w32(struct mtk_wed_wo *wo, u32 reg, u32 val)
  37. {
  38. - writel(val, wo->boot.addr + reg);
  39. + writel(val, mem_region[MTK_WED_WO_REGION_BOOT].addr + reg);
  40. }
  41. static struct sk_buff *
  42. @@ -294,18 +310,6 @@ next:
  43. static int
  44. mtk_wed_mcu_load_firmware(struct mtk_wed_wo *wo)
  45. {
  46. - static struct mtk_wed_wo_memory_region mem_region[] = {
  47. - [MTK_WED_WO_REGION_EMI] = {
  48. - .name = "wo-emi",
  49. - },
  50. - [MTK_WED_WO_REGION_ILM] = {
  51. - .name = "wo-ilm",
  52. - },
  53. - [MTK_WED_WO_REGION_DATA] = {
  54. - .name = "wo-data",
  55. - .shared = true,
  56. - },
  57. - };
  58. const struct mtk_wed_fw_trailer *trailer;
  59. const struct firmware *fw;
  60. const char *fw_name;
  61. @@ -319,11 +323,6 @@ mtk_wed_mcu_load_firmware(struct mtk_wed
  62. return ret;
  63. }
  64. - wo->boot.name = "wo-boot";
  65. - ret = mtk_wed_get_memory_region(wo, &wo->boot);
  66. - if (ret)
  67. - return ret;
  68. -
  69. /* set dummy cr */
  70. wed_w32(wo->hw->wed_dev, MTK_WED_SCR0 + 4 * MTK_WED_DUMMY_CR_FWDL,
  71. wo->hw->index + 1);
  72. --- a/drivers/net/ethernet/mediatek/mtk_wed_wo.h
  73. +++ b/drivers/net/ethernet/mediatek/mtk_wed_wo.h
  74. @@ -228,7 +228,6 @@ struct mtk_wed_wo_queue {
  75. struct mtk_wed_wo {
  76. struct mtk_wed_hw *hw;
  77. - struct mtk_wed_wo_memory_region boot;
  78. struct mtk_wed_wo_queue q_tx;
  79. struct mtk_wed_wo_queue q_rx;