Revision tags: release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
8eca341d |
| 17-Dec-2021 |
Andriy Gapon <avg@FreeBSD.org> |
follow up to 18679ab1, actually change size of mmc_sim::name to 16
The change was made locally but was not squashed into the commit.
Fixes: 18679ab1 mmc_sim: fix setting of the mutex name MFC afte
follow up to 18679ab1, actually change size of mmc_sim::name to 16
The change was made locally but was not squashed into the commit.
Fixes: 18679ab1 mmc_sim: fix setting of the mutex name MFC after: 8 days
show more ...
|
#
18679ab1 |
| 15-Dec-2021 |
Andriy Gapon <avg@FreeBSD.org> |
mmc_sim: fix setting of the mutex name
To quote the manual: The pointer passed in as name and type is saved rather than the data it points to. The data pointed to must remain stable until the mut
mmc_sim: fix setting of the mutex name
To quote the manual: The pointer passed in as name and type is saved rather than the data it points to. The data pointed to must remain stable until the mutex is destroyed.
It seems that the type is actually copied, but the name is stored as a pointer indeed. mmc_cam_sim_alloc used a name stored on stack. So, a corrupt mutex name would be reported. For example: lock order reversal: (sleepable after non-sleepable) 1st 0xd7285b20 <8A><C0><C0>P@<C1><D0>P@<C1>^D^A (aw_mmc_sim, sleep mutex) @ sys/cam/cam_xpt.c:2804
This change moves the name to struct mmc_sim. Also, that name is used as the sim name as well. Unused mtx_name variable is removed too. The name buffer is reduced to 16 characters.
Reviewed by: manu, bz MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D33412
show more ...
|
#
8b37048b |
| 13-Dec-2021 |
Andriy Gapon <avg@FreeBSD.org> |
Revert "mmc_sim: fix setting of the mutex name"
This reverts commit df472af034e7726dea533ac7f44440dad4ba6a34.
The change hasn't been reviewed.
|
Revision tags: release/12.3.0 |
|
#
df472af0 |
| 26-Nov-2021 |
Andriy Gapon <avg@FreeBSD.org> |
mmc_sim: fix setting of the mutex name
To quote the manual: The pointer passed in as name and type is saved rather than the data it points to. The data pointed to must remain stable until the mut
mmc_sim: fix setting of the mutex name
To quote the manual: The pointer passed in as name and type is saved rather than the data it points to. The data pointed to must remain stable until the mutex is destroyed.
It seems that the type is actually copied, but the name is stored as a pointer indeed. mmc_cam_sim_alloc used a name stored on stack. So, a corrupt mutex name would be reported. For example: lock order reversal: (sleepable after non-sleepable) 1st 0xd7285b20 <8A><C0><C0>P@<C1><D0>P@<C1>^D^A (aw_mmc_sim, sleep mutex) @ /usr/devel/git/orange/sys/cam/cam_xpt.c:2804
This change moves the name to struct mmc_sim. Also, that name is used as the sim name as well. Unused mtx_name variable is removed too.
show more ...
|
#
af2253f6 |
| 29-Apr-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
mmccam: Add two new XPT for MMC and use them in mmc_sim and sdhci
For the discovery phase of SD/eMMC we need to do some transaction in a async way. The classic CAM XPT_{GET,SET}_TRAN_SETTING cannot
mmccam: Add two new XPT for MMC and use them in mmc_sim and sdhci
For the discovery phase of SD/eMMC we need to do some transaction in a async way. The classic CAM XPT_{GET,SET}_TRAN_SETTING cannot be used in a async way. This also allow us to split the discovery phase into a more complete state machine and we don't mtx_sleep with a random number to wait for completion of the tasks. For mmc_sim we now do the SET_TRAN_SETTING in a taskqueue so we can call the needed function for regulators/clocks without the cam lock(s). This part is still needed to be done for sdhci. We also now save the host OCR in the discovery phase as it wasn't done before and only worked because the same ccb was reused.
Reviewed by: imp, kibab, bz Differential Revision: https://reviews.freebsd.org/D30038
show more ...
|
#
47bde792 |
| 21-Apr-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
mmccam: Add mmc_sim, a generic sim for mmc driver to use
This adds a generic sim that abstract a lot of what needs to be implemented in a driver for mmccam support. A new interface with three method
mmccam: Add mmc_sim, a generic sim for mmc driver to use
This adds a generic sim that abstract a lot of what needs to be implemented in a driver for mmccam support. A new interface with three methods is added :
- mmc_sim_get_tran_settings: Use to get what the controller supports in term of capabilities, freq etc ... - mmc_sim_set_tran_settings: Use to change the speed/freq/etc of the sdcard host controller - mmc_sim_cam_request: Used for MMCIO requests
Differential Revision: https://reviews.freebsd.org/D27485 Reviewed by: kibab
show more ...
|