Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linux-iot2050: Update to v6.1.54-cip6[-rt3] #491

Merged
merged 3 commits into from
Oct 23, 2023
Merged

linux-iot2050: Update to v6.1.54-cip6[-rt3] #491

merged 3 commits into from
Oct 23, 2023

Conversation

diogo-ivo
Copy link
Collaborator

This PR includes all patches 5.10 except some prueth functionality still being upstreamed by TI, namely:

  • net: ethernet: ti: icssg_prueth: add TAPRIO offload support
  • net: ethernet: ti: icssg_prueth: Add helper functions to configure FDB
  • net: ethernet: ti: icssg_switch: Add switchdev based driver for ethernet switch support
  • net: ethernet: ti: icssg_prueth: Add support for ICSSG switch firmware on AM654 PG2.0
    ------------------------------- Current upstream attempts stop here--------------------------------------------
  • net: ethernet: ti: icssg_prueth: add IET Frame preemption utilities
  • net: ethernet: ti: icssg_prueth: add priv-flags to configure IET FPE
  • net: ethernet: ti: icssg_prueth: enable IET/FPE feature configuration
  • net: ethernet: ti: icssg_prueth: Support for transparent ASEL handling
  • net: ethernet: ti: icssg_prueth: move phy init in .ndo_open/close()
  • net: ethernet: ti: icssg_prueth: fix init after adding switchdev
  • net: ti: icssg_prueth: Fix NULL pointer deference during probe
  • net: ti: icssg_qos: Remove icssg_qos_cleanup()
  • net: ti: icssg_qos: Fix IET Frame Preemption disable path
  • net: ti: icssg_prueth: Fix NULL pointer deference during remove
  • net: ti: icssg_prueth: Support multiple TX timestamp requests
  • net:ti:icssg: select NET_DEVLINK
  • net: ethernet: ti: icssg_prueth: Restore half-duplex support
  • net: ethernet: ti: icssg_prueth: fix devlink port register sequence
  • net: ti: icssg_prueth: clean up pending TX timestamp requests at link down
  • net: ti: icssg_prueth: fix missed back to back TX timestamp responses
  • net: ti: icssg-prueth: move phy_connect()/phy_disconnect()
  • net: ethernet: ti: icssg_prueth: Use page_pool API for RX buffer allocation
  • net: ethernet: ti: icssg_prueth: introduce and use prueth_swdata struct for SWDATA
  • net: ethernet: ti: icssg_prueth: Add AF_XDP support
  • net: ethernet: ti: icssg_prueth: Remove Rx enable in init sequence
  • net: ethernet: ti: icssg_prueth: Initialize emac speed on SR1.0

@BaochengSu BaochengSu requested a review from jan-kiszka October 11, 2023 15:42
@BaochengSu
Copy link
Collaborator

This PR includes all patches 5.10 except some prueth functionality still being upstreamed by TI, namely:

  • net: ethernet: ti: icssg_prueth: add TAPRIO offload support
  • net: ethernet: ti: icssg_prueth: Add helper functions to configure FDB
  • net: ethernet: ti: icssg_switch: Add switchdev based driver for ethernet switch support
  • net: ethernet: ti: icssg_prueth: Add support for ICSSG switch firmware on AM654 PG2.0
    ------------------------------- Current upstream attempts stop here--------------------------------------------
  • net: ethernet: ti: icssg_prueth: add IET Frame preemption utilities
  • net: ethernet: ti: icssg_prueth: add priv-flags to configure IET FPE
  • net: ethernet: ti: icssg_prueth: enable IET/FPE feature configuration
  • net: ethernet: ti: icssg_prueth: Support for transparent ASEL handling
  • net: ethernet: ti: icssg_prueth: move phy init in .ndo_open/close()
  • net: ethernet: ti: icssg_prueth: fix init after adding switchdev
  • net: ti: icssg_prueth: Fix NULL pointer deference during probe
  • net: ti: icssg_qos: Remove icssg_qos_cleanup()
  • net: ti: icssg_qos: Fix IET Frame Preemption disable path
  • net: ti: icssg_prueth: Fix NULL pointer deference during remove
  • net: ti: icssg_prueth: Support multiple TX timestamp requests
  • net:ti:icssg: select NET_DEVLINK
  • net: ethernet: ti: icssg_prueth: Restore half-duplex support
  • net: ethernet: ti: icssg_prueth: fix devlink port register sequence
  • net: ti: icssg_prueth: clean up pending TX timestamp requests at link down
  • net: ti: icssg_prueth: fix missed back to back TX timestamp responses
  • net: ti: icssg-prueth: move phy_connect()/phy_disconnect()
  • net: ethernet: ti: icssg_prueth: Use page_pool API for RX buffer allocation
  • net: ethernet: ti: icssg_prueth: introduce and use prueth_swdata struct for SWDATA
  • net: ethernet: ti: icssg_prueth: Add AF_XDP support
  • net: ethernet: ti: icssg_prueth: Remove Rx enable in init sequence
  • net: ethernet: ti: icssg_prueth: Initialize emac speed on SR1.0

Better to add this information to the commit message body, so later people could easily get this information without opening this PR.

@jan-kiszka
Copy link
Collaborator

Let's split the commit into 2, first adding 6.1 then dropping 5.10. Makes them a bit more handy.

@jan-kiszka
Copy link
Collaborator

But none of those patches in the commit log are part of this MR. I don't think this makes sense to mention here.

I'm way more interested in the line where backporting stops and SDK or own patches start. Please clarify that.

@jan-kiszka
Copy link
Collaborator

OTOH, when reading "Fix NULL pointer deference" more than once in that list of to-be-integrated patches: Are none of those fixes relevant for the patches we already carry, ie. are they only addressing issues from that extra patch list?

@diogo-ivo
Copy link
Collaborator Author

Regarding the line, that is what TI is currently addressing in the mailing lists, specifically in 1, meaning that everything below that line is still only present in the SDK and my guess is that it will be mainlined after the features in 1 are added. The fix NULL dereference patches are relevant for the code added in 1 as well, but since the mailing list version already includes that fix by default they won't be needed in our patch list.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need this, neither functionally (it's for AM64) nor to make the application of succeeding patches simpler. Same for 0033.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move this back-to-back with patch 0071.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is 9d2e77ff2bd3b94c930a1f5b75abada7e196fa6d in upstream containing this. You likely picked the wrong source here, possible also for patch 59.

Signed-off-by: Nikhil Devshatwar <[email protected]>
Signed-off-by: Vignesh Raghavendra <[email protected]>
Tested-by: Praneeth Bajjuri <[email protected]>
[Taken from TI 6.1 SDK]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't find this in 6.1 anymore, only in 5.10.

@jan-kiszka
Copy link
Collaborator

Needs rebasing over master but looks good otherwise (except for that annotation detail).

@diogo-ivo diogo-ivo force-pushed the ivo/cip-6.1 branch 3 times, most recently from 28ef458 to 4bafddc Compare October 20, 2023 11:17
@diogo-ivo diogo-ivo force-pushed the ivo/cip-6.1 branch 2 times, most recently from 1efd85e to 4036ffb Compare October 20, 2023 14:40
@@ -444,7 +437,6 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_HI6421V530=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PWM=y
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting that this automatically dropped off. But checking our DT, I don't see we ever needed it.

CONFIG_DRM=y
CONFIG_DRM_I2C_NXP_TDA998X=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same remark for this: correctly dropped, we don't have this. Did you check manually?

CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These look suspicious, though. Aren't we losing the framebuffer console this way? Did you test?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CONFIG_FB=y now needed. Display remained black.

@@ -490,11 +470,9 @@ CONFIG_SND_SOC_DAVINCI_MCASP=y
CONFIG_SND_SOC_AK4613=m
CONFIG_SND_SOC_PCM3168A_I2C=m
CONFIG_SND_SOC_TLV320AIC31XX=m
CONFIG_SND_SOC_TLV320AIC3X=m
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This driver was split into I2C and SPI attached ones. We may have used the I2C version before.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...or this was simply inherited from the EMV defconfig which has extensions we don't have.

@@ -506,9 +484,6 @@ CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
CONFIG_USB_ACM=m
CONFIG_USB_STORAGE=m
CONFIG_USB_CDNS3=m
CONFIG_USB_CDNS3_GADGET=y
CONFIG_USB_CDNS3_HOST=y
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These were most likely EVM inherited, the AM65 does not use this.

CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_PWM=y
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indeed, unused.

CONFIG_TI_SCI_PM_DOMAINS=y
CONFIG_TI_PRUSS=y
CONFIG_EXTCON_PALMAS=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_MEMORY=y
CONFIG_IIO=y
CONFIG_TI_AM335X_ADC=m
CONFIG_PWM_TIECAP=y
CONFIG_PWM_TIEHRPWM=y
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two seems used.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CONFIG_PWM=y now needed.

Move PRUETH driver from module to built-in in order to avoid a probing
race condition.

CONFIG_FB is no longer auto-selected. Enable it to preserve framebuffer
support.

CONFIG_PWM needs to be explicitly enabled with the newer kernel.

Finally, CONFIG_RT_GROUP_SCHED must be disabled for the RT kernel as it
is officially incompatible and breaks requesting RT scheduling policies.

Signed-off-by: Diogo Ivo <[email protected]>
[Jan: add phys_port_name icssg-prueth patch, fix defconfig]
Signed-off-by: Jan Kiszka <[email protected]>
Regenerated via oldefconfig, followed by savedefconfig.

Signed-off-by: Diogo Ivo <[email protected]>
[Jan: rebased and refreshed]
Signed-off-by: Jan Kiszka <[email protected]>
@jan-kiszka
Copy link
Collaborator

@diogo-ivo I've patched some issues, and the result looks now good to me. Still not understood is the probing race, but I noticed that it is gone with 6.6-rcX. We might be missing some patch.

@BaochengSu I think we can merge this and move forward with testing.

@BaochengSu
Copy link
Collaborator

Sure, let's move forward

@BaochengSu BaochengSu merged commit 51b3c0b into master Oct 23, 2023
5 checks passed
@jan-kiszka jan-kiszka deleted the ivo/cip-6.1 branch October 23, 2023 05:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants