~vicamo/+git/ubuntu-kernel:bug-1950282/support-mediatek-t7xx-wwan/unstable

Last commit made on 2022-05-03
Get this branch:
git clone -b bug-1950282/support-mediatek-t7xx-wwan/unstable https://git.launchpad.net/~vicamo/+git/ubuntu-kernel
Only You-Sheng Yang can upload to this branch. If you are You-Sheng Yang please log in for upload directions.

Branch merges

Branch information

Name:
bug-1950282/support-mediatek-t7xx-wwan/unstable
Repository:
lp:~vicamo/+git/ubuntu-kernel

Recent commits

16f71f9... by You-Sheng Yang

Bug 1950282: Fibocom WWAN FM350-GL-00 (Mediatek M80 5G) support

a0e82e1... by You-Sheng Yang

UBUNTU: SAUCE: wwan: t7xx: fix Werror=array-bounds

BugLink: https://bugs.launchpad.net/bugs/1950282

Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>

cb5475f... by You-Sheng Yang

UBUNTU: [Config] enable MTK_T7XX as module

BugLink: https://bugs.launchpad.net/bugs/1950282

Signed-off-by: You-Sheng Yang <email address hidden>

6d83a3d... by Ricardo Martinez <email address hidden>

UBUNTU: SAUCE: net: wwan: t7xx: Add maintainers and documentation

BugLink: https://bugs.launchpad.net/bugs/1950282

Adds maintainers and documentation for MediaTek t7xx 5G WWAN modem
device driver.

Signed-off-by: Ricardo Martinez <email address hidden>

>From a WWAN framework perspective:
Reviewed-by: Loic Poulain <email address hidden>

(cherry picked from https://<email address hidden>/)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>

74e8b9b... by Haijun Liu <email address hidden>

UBUNTU: SAUCE: net: wwan: t7xx: Device deep sleep lock/unlock

BugLink: https://bugs.launchpad.net/bugs/1950282

Introduce the mechanism to lock/unlock the device 'deep sleep' mode.
When the PCIe link state is L1.2 or L2, the host side still can keep
the device is in D0 state from the host side point of view. At the same
time, if the device's 'deep sleep' mode is unlocked, the device will
go to 'deep sleep' while it is still in D0 state on the host side.

Signed-off-by: Haijun Liu <email address hidden>
Signed-off-by: Chandrashekar Devegowda <email address hidden>
Co-developed-by: Ricardo Martinez <email address hidden>
Signed-off-by: Ricardo Martinez <email address hidden>
(cherry picked from https://<email address hidden>/)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>

576345f... by Haijun Liu <email address hidden>

UBUNTU: SAUCE: net: wwan: t7xx: Runtime PM

BugLink: https://bugs.launchpad.net/bugs/1950282

Enables runtime power management callbacks including runtime_suspend
and runtime_resume. Autosuspend is used to prevent overhead by frequent
wake-ups.

Signed-off-by: Haijun Liu <email address hidden>
Signed-off-by: Chandrashekar Devegowda <email address hidden>
Co-developed-by: Eliot Lee <email address hidden>
Signed-off-by: Eliot Lee <email address hidden>
Signed-off-by: Ricardo Martinez <email address hidden>
(cherry picked from https://<email address hidden>/)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>

6fef2fd... by Haijun Liu <email address hidden>

UBUNTU: SAUCE: net: wwan: t7xx: Introduce power management

BugLink: https://bugs.launchpad.net/bugs/1950282

Implements suspend, resumes, freeze, thaw, poweroff, and restore
`dev_pm_ops` callbacks.

>From the host point of view, the t7xx driver is one entity. But, the
device has several modules that need to be addressed in different ways
during power management (PM) flows.
The driver uses the term 'PM entities' to refer to the 2 DPMA and
2 CLDMA HW blocks that need to be managed during PM flows.
When a dev_pm_ops function is called, the PM entities list is iterated
and the matching function is called for each entry in the list.

Signed-off-by: Haijun Liu <email address hidden>
Signed-off-by: Chandrashekar Devegowda <email address hidden>
Co-developed-by: Ricardo Martinez <email address hidden>
Signed-off-by: Ricardo Martinez <email address hidden>
(cherry picked from https://<email address hidden>/)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>

dbf8fa5... by Haijun Liu <email address hidden>

UBUNTU: SAUCE: net: wwan: t7xx: Add WWAN network interface

BugLink: https://bugs.launchpad.net/bugs/1950282

Creates the Cross Core Modem Network Interface (CCMNI) which implements
the wwan_ops for registration with the WWAN framework, CCMNI also
implements the net_device_ops functions used by the network device.
Network device operations include open, close, start transmission, TX
timeout and change MTU.

Signed-off-by: Haijun Liu <email address hidden>
Co-developed-by: Chandrashekar Devegowda <email address hidden>
Signed-off-by: Chandrashekar Devegowda <email address hidden>
Co-developed-by: Ricardo Martinez <email address hidden>
Signed-off-by: Ricardo Martinez <email address hidden>

>From a WWAN framework perspective:
Reviewed-by: Loic Poulain <email address hidden>

(cherry picked from https://<email address hidden>/)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>

9e70c22... by Haijun Liu <email address hidden>

UBUNTU: SAUCE: net: wwan: t7xx: Add data path interface

BugLink: https://bugs.launchpad.net/bugs/1950282

Data Path Modem AP Interface (DPMAIF) HIF layer provides methods
for initialization, ISR, control and event handling of TX/RX flows.

DPMAIF TX
Exposes the 'dmpaif_tx_send_skb' function which can be used by the
network device to transmit packets.
The uplink data management uses a Descriptor Ring Buffer (DRB).
First DRB entry is a message type that will be followed by 1 or more
normal DRB entries. Message type DRB will hold the skb information
and each normal DRB entry holds a pointer to the skb payload.

DPMAIF RX
The downlink buffer management uses Buffer Address Table (BAT) and
Packet Information Table (PIT) rings.
The BAT ring holds the address of skb data buffer for the HW to use,
while the PIT contains metadata about a whole network packet including
a reference to the BAT entry holding the data buffer address.
The driver reads the PIT and BAT entries written by the modem, when
reaching a threshold, the driver will reload the PIT and BAT rings.

Signed-off-by: Haijun Liu <email address hidden>
Signed-off-by: Chandrashekar Devegowda <email address hidden>
Co-developed-by: Ricardo Martinez <email address hidden>
Signed-off-by: Ricardo Martinez <email address hidden>

>From a WWAN framework perspective:
Reviewed-by: Loic Poulain <email address hidden>

(cherry picked from https://<email address hidden>/)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>

6341222... by Haijun Liu <email address hidden>

UBUNTU: SAUCE: net: wwan: t7xx: Data path HW layer

BugLink: https://bugs.launchpad.net/bugs/1950282

Data Path Modem AP Interface (DPMAIF) HW layer provides HW abstraction
for the upper layer (DPMAIF HIF). It implements functions to do the HW
configuration, TX/RX control and interrupt handling.

Signed-off-by: Haijun Liu <email address hidden>
Signed-off-by: Chandrashekar Devegowda <email address hidden>
Co-developed-by: Ricardo Martinez <email address hidden>
Signed-off-by: Ricardo Martinez <email address hidden>

>From a WWAN framework perspective:
Reviewed-by: Loic Poulain <email address hidden>

(cherry picked from https://<email address hidden>/)
Signed-off-by: You-Sheng Yang (vicamo) <email address hidden>