Jason A. Donenfeld
8032bf1233
treewide: use get_random_u32_below() instead of deprecated function
...
This is a simple mechanical transformation done by:
@@
expression E;
@@
- prandom_u32_max
+ get_random_u32_below
(E)
Reviewed-by: Kees Cook <keescook@chromium.org >
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Acked-by: Darrick J. Wong <djwong@kernel.org > # for xfs
Reviewed-by: SeongJae Park <sj@kernel.org > # for damon
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com > # for infiniband
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk > # for arm
Acked-by: Ulf Hansson <ulf.hansson@linaro.org > # for mmc
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2022-11-18 02:15:15 +01:00
Bhaumik Bhatt
0bca889fd6
bus: mhi: host: Bail on writing register fields if read fails
...
Helper API to write register fields relies on successful reads
of the register/address prior to the write. Bail out if a failure
is seen when reading the register before the actual write is
performed.
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org >
Signed-off-by: Jeffrey Hugo <quic_jhugo@quicinc.com >
Reviewed-by: Hemant Kumar <hemantk@codeaurora.org >
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com >
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/r/1650304226-11080-2-git-send-email-quic_jhugo@quicinc.com
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
2022-04-23 18:57:32 +05:30
Manivannan Sadhasivam
8485149c7a
bus: mhi: Move common MHI definitions out of host directory
...
Move the common MHI definitions in host "internal.h" to "common.h" so
that the endpoint code can make use of them. This also avoids
duplicating the definitions in the endpoint stack.
Reviewed-by: Hemant Kumar <hemantk@codeaurora.org >
Reviewed-by: Alex Elder <elder@linaro.org >
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/r/20220301160308.107452-10-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2022-03-18 14:02:55 +01:00
Manivannan Sadhasivam
84f5f31f11
bus: mhi: host: Rename "struct mhi_tre" to "struct mhi_ring_element"
...
Structure "struct mhi_tre" is representing a generic MHI ring element and
not specifically a Transfer Ring Element (TRE). Fix the naming.
Reviewed-by: Alex Elder <elder@linaro.org >
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/r/20220301160308.107452-9-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2022-03-18 14:02:55 +01:00
Manivannan Sadhasivam
792ba32184
bus: mhi: Cleanup the register definitions used in headers
...
Cleanup includes:
1. Using the GENMASK macro for masks
2. Removing brackets for single values
3. Using lowercase for hex values
4. Using two digits for hex values where applicable
5. Aligning the defines on same column
Reviewed-by: Hemant Kumar <hemantk@codeaurora.org >
Reviewed-by: Alex Elder <elder@linaro.org >
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/r/20220301160308.107452-8-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2022-03-18 14:02:54 +01:00
Manivannan Sadhasivam
ba1d2b86b6
bus: mhi: Use bitfield operations for handling DWORDs of ring elements
...
Instead of using the hardcoded bits in DWORD definitions, let's use the
bitfield operations to make it more clear how the DWORDs are structured.
Suggested-by: Alex Elder <elder@linaro.org >
Reviewed-by: Alex Elder <elder@linaro.org >
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/r/20220301160308.107452-7-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2022-03-18 14:02:54 +01:00
Manivannan Sadhasivam
d28cab4d4a
bus: mhi: Use bitfield operations for register read and write
...
Functions like mhi_read_reg_field(), mhi_poll_reg_field() and
mhi_write_reg_field() could be modified to not depend on the shift value
passed as an argument. Instead, the bitfield operation could be used to
extract the shift value from the mask itself.
This eliminates the need to define _SHIFT (and _SHFT) macros and
simplifies the code a bit. For shift values those cannot be determined
during build time, "__ffs()" helper is used find the shift value during
runtime.
While at it, let's also get rid of 32-bit masks like CHDBOFF_CHDBOFF_MASK
by doing the full 32-bit register read.
Suggested-by: Alex Elder <elder@linaro.org >
Reviewed-by: Alex Elder <elder@linaro.org >
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/r/20220301160308.107452-6-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2022-03-18 14:02:54 +01:00
Manivannan Sadhasivam
a0f5a63066
bus: mhi: Move host MHI code to "host" directory
...
In preparation of the endpoint MHI support, let's move the host MHI code
to its own "host" directory and adjust the toplevel MHI Kconfig & Makefile.
While at it, let's also move the "pci_generic" driver to "host" directory
as it is a host MHI controller driver.
Reviewed-by: Hemant Kumar <hemantk@codeaurora.org >
Reviewed-by: Alex Elder <elder@linaro.org >
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/r/20220301160308.107452-5-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2022-03-18 14:02:54 +01:00