History log of /freebsd/sys/dev/sdhci/sdhci.c (Results 1 – 25 of 202)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# aaf0a730 10-Mar-2025 John Baldwin <jhb@FreeBSD.org>

sdhci: Use bus_topo_lock and taskqueue_bus for hotplug events

Drop SDHCI_LOCK and instead acquire bus_topo_lock when adding and
removing new-bus devices.

Reviewed by: imp
Differential Revision: htt

sdhci: Use bus_topo_lock and taskqueue_bus for hotplug events

Drop SDHCI_LOCK and instead acquire bus_topo_lock when adding and
removing new-bus devices.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D49271

show more ...


Revision tags: release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0
# 21525fe0 25-Sep-2024 Justin Hibbits <jhibbits@FreeBSD.org>

sdhci: Add sysctl to report quirks on the slot

Summary:
It can be useful to see what quirks are applied on an SDHCI slot.

Obtained from: Juniper Networks, Inc.
Reviewed By: manu
Differential Revisi

sdhci: Add sysctl to report quirks on the slot

Summary:
It can be useful to see what quirks are applied on an SDHCI slot.

Obtained from: Juniper Networks, Inc.
Reviewed By: manu
Differential Revision: https://reviews.freebsd.org/D46790

show more ...


Revision tags: release/13.4.0
# 7b86593f 05-Sep-2024 Justin Hibbits <jhibbits@FreeBSD.org>

sdhci: Match quirk_set/quirk_clear sysctls to type

These quirk fields are u_int, so match the sysctl type to the actual
types, and use SYSCTL_UINT. This provides room for setting bit 31 quirk
as ne

sdhci: Match quirk_set/quirk_clear sysctls to type

These quirk fields are u_int, so match the sysctl type to the actual
types, and use SYSCTL_UINT. This provides room for setting bit 31 quirk
as needed.

Sponsored by: Juniper Networks, Inc.
MFC after: 1 week

show more ...


# 5b56413d 25-Jul-2024 Warner Losh <imp@FreeBSD.org>

newbus: globally replace device_add_child(..., -1) with DEVICE_UNIT_ANY

Sponsored by: Netflix


Revision tags: release/14.1.0, release/13.3.0
# fdafd315 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

sys: Automated cleanup of cdefs and other formatting

Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.

Remov

sys: Automated cleanup of cdefs and other formatting

Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.

Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/

Sponsored by: Netflix

show more ...


Revision tags: release/14.0.0
# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix

show more ...


# bd15d31c 12-Apr-2023 Marius Strobl <marius@FreeBSD.org>

mmc(4): Don't call bridge driver for timings not requiring tuning

The original idea behind calling into the bridge driver was to have the
logic deciding whether tuning is actually required for a par

mmc(4): Don't call bridge driver for timings not requiring tuning

The original idea behind calling into the bridge driver was to have the
logic deciding whether tuning is actually required for a particular bus
timing in a given slot as well as doing the sanity checking only on the
controller layer which also generally is better suited for these due to
say SDHCI_SDR50_NEEDS_TUNING. On another thought, not every such driver
should need to check whether tuning is required at all, though, and not
everything is SDHCI in the first place.
Adjust sdhci{,_fsl_fdt}(4) accordingly, but keep sdhci_generic_tune() a
bit cautious still.

show more ...


Revision tags: release/13.2.0
# e00774a9 24-Dec-2022 Søren Schmidt <sos@FreeBSD.org>

Add support for Rockchip RK3568 SDHCI controller.


Revision tags: release/12.4.0, release/13.1.0
# 03d49ffc 14-Apr-2022 John Baldwin <jhb@FreeBSD.org>

sdhci_card_task: d is only used in the non-MMCCAM case.


# 016f9657 07-Mar-2022 Marcin Wojtas <mw@FreeBSD.org>

Revert "sdhci: extend bus_dma_tag boundary to 64-bit space"

This reverts commit 7d8700bc291b4b3be1a592cae539f9e682592d9d.

Reason for revert: the patch is incomplete. 64-bit operation
is supported f

Revert "sdhci: extend bus_dma_tag boundary to 64-bit space"

This reverts commit 7d8700bc291b4b3be1a592cae539f9e682592d9d.

Reason for revert: the patch is incomplete. 64-bit operation
is supported fully in SDHCI v4.0, v3.0 does it only for ADMA mode.
This differentiation is missing and should be taken into consideration
in case the reverted code is re-introduced.

Reported by: mmel

show more ...


# 94ff1d9c 26-Jan-2022 Andriy Gapon <avg@FreeBSD.org>

sdhci: fix dumping support in MMCCAM configuration

This change fixes interaction with recently added sddadump.

MFC after: 1 week


# 7aa51c96 14-Dec-2021 Mateusz Guzik <mjg@FreeBSD.org>

sdhci: plug set-but-not-unused vars

Sponsored by: Rubicon Communications, LLC ("Netgate")


Revision tags: release/12.3.0
# b8f94506 05-Nov-2021 Artur Rojek <ar@semihalf.com>

sdhci: Provide devmethod for software reset

Some sdhci controllers require custom software reset logic. Accommodate
this need by introducing a new SDHCI_RESET devmethod. Move the existing
reset logi

sdhci: Provide devmethod for software reset

Some sdhci controllers require custom software reset logic. Accommodate
this need by introducing a new SDHCI_RESET devmethod. Move the existing
reset logic into sdhci_generic_reset and use it as a default for the
aforementioned method.

Obtained from: Semihalf
Sponsored by: Alstom Group
Differeential revision: https://reviews.freebsd.org/D32704

show more ...


# 3ac5012e 05-Oct-2021 Bartlomiej Grzesik <bag@semihalf.com>

sdhci: Fix crash caused by M_WAITOK in sdhci dumps

In some contexts it is illegal to wait for memory allocation, causing
kernel panic. By default sbuf_new passes M_WAITOK to malloc,
which caused cra

sdhci: Fix crash caused by M_WAITOK in sdhci dumps

In some contexts it is illegal to wait for memory allocation, causing
kernel panic. By default sbuf_new passes M_WAITOK to malloc,
which caused crashes when sdhci_dumpcaps or sdhci_dumpregs was callend in
non sutiable context.

Add SBUF_NOWAIT flag to sbuf_new to fix this.

Obtained from: Semihalf
Differential revision: https://reviews.freebsd.org/D32075

show more ...


# 440c645b 29-Sep-2021 Mitchell Horne <mhorne@FreeBSD.org>

sdhci: add a missing newline


# d00c1f7f 13-Sep-2021 Bartlomiej Grzesik <bag@semihalf.com>

sdhci: add sysctls to dump sdhci registers and capabilites

Add sysctls dev.sdhci.X.slotY.dumpregs and dev.sdhci.X.slotY.dumpcaps
which dumps sdhci registers or capabilities.

Obtained from: Semihal

sdhci: add sysctls to dump sdhci registers and capabilites

Add sysctls dev.sdhci.X.slotY.dumpregs and dev.sdhci.X.slotY.dumpcaps
which dumps sdhci registers or capabilities.

Obtained from: Semihalf
Reviewed by: mw
Differential revision: https://reviews.freebsd.org/D31406

show more ...


# 35547df5 11-Aug-2021 Scott Long <scottl@FreeBSD.org>

Call wakeup() with the lock held to avoid missed wakeup races.

Submitted by: luiz
Sponsored by: Rubicon Communications, LLC ("Netgate")


# da2f833f 07-Jul-2021 Bjoern A. Zeeb <bz@FreeBSD.org>

MMCCAM: fix a panic after cam_sim_alloc_dev() removal in sdhci.c

During the removal of cam_sim_alloc_dev() in
aeb04e88f51a706ef4b6a380bf5e82d15203fb6a for sdhci.c and the
follow-up build-fix in a72a

MMCCAM: fix a panic after cam_sim_alloc_dev() removal in sdhci.c

During the removal of cam_sim_alloc_dev() in
aeb04e88f51a706ef4b6a380bf5e82d15203fb6a for sdhci.c and the
follow-up build-fix in a72af82e3169fcacfedf9047120679300a4296f8
slot->dev and slot->bus got mixed up for MMCCAM; slot->dev is
only used in the !MMCCAM case so is uninitialised here leading to
a panic; switch back to slot->bus to return to the status quo.

Reviewed by: imp (ack on arm@)
X-Differential Revision: https://reviews.freebsd.org/D30857

show more ...


# a72af82e 29-Jun-2021 Warner Losh <imp@FreeBSD.org>

cam: Fix GENERIC-MMCCAM build

Fix forgotten argument and type error. MMCCAM isn't enabled by default,
and I'd mistakenly thought it was, so these went undetected precommit.

Sponsored by: Netflix


# aeb04e88 29-Jun-2021 Warner Losh <imp@FreeBSD.org>

sdhci: stop using cam_sim_alloc_dev

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D30857


# 5652be30 05-May-2021 Marcin Wojtas <mw@FreeBSD.org>

sdhci: allow setting MMC capabilities before sdhci_init_slot

With this change the host controller drivers can set the MMC capabilities
(e.g. using mmc_fdt_parse() helper) before calling sdhci_init_s

sdhci: allow setting MMC capabilities before sdhci_init_slot

With this change the host controller drivers can set the MMC capabilities
(e.g. using mmc_fdt_parse() helper) before calling sdhci_init_slot().
This way the configuration dump (eg. in bootverbose) can include the
possible additional information.

Reviewed by: manu
Obtained from: Semihalf
Sponsored by: Marvell
Differential Revision: https://reviews.freebsd.org/D30561
MFC after: 2 weeks

show more ...


# 7d8700bc 28-Apr-2021 Marcin Wojtas <mw@FreeBSD.org>

sdhci: extend bus_dma_tag boundary to 64-bit space

This patch adds support for the SDHCI_CAN_DO_64BIT
capability, so that to allow 64-bit DMA operation
for the controllers which support this feature

sdhci: extend bus_dma_tag boundary to 64-bit space

This patch adds support for the SDHCI_CAN_DO_64BIT
capability, so that to allow 64-bit DMA operation
for the controllers which support this feature.

Reviewed by: manu
Obtained from: Semihalf
Sponsored by: Marvell
Differential Revision: https://reviews.freebsd.org/D30560
MFC after: 2 weeks

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 ...


Revision tags: release/13.0.0
# cd853791 28-Nov-2020 Konstantin Belousov <kib@FreeBSD.org>

Make MAXPHYS tunable. Bump MAXPHYS to 1M.

Replace MAXPHYS by runtime variable maxphys. It is initialized from
MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.

Make b_pag

Make MAXPHYS tunable. Bump MAXPHYS to 1M.

Replace MAXPHYS by runtime variable maxphys. It is initialized from
MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.

Make b_pages[] array in struct buf flexible. Size b_pages[] for buffer
cache buffers exactly to atop(maxbcachebuf) (currently it is sized to
atop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1.
The +1 for pbufs allow several pbuf consumers, among them vmapbuf(),
to use unaligned buffers still sized to maxphys, esp. when such
buffers come from userspace (*). Overall, we save significant amount
of otherwise wasted memory in b_pages[] for buffer cache buffers,
while bumping MAXPHYS to desired high value.

Eliminate all direct uses of the MAXPHYS constant in kernel and driver
sources, except a place which initialize maxphys. Some random (and
arguably weird) uses of MAXPHYS, e.g. in linuxolator, are converted
straight. Some drivers, which use MAXPHYS to size embeded structures,
get private MAXPHYS-like constant; their convertion is out of scope
for this work.

Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs,
dev/siis, where either submitted by, or based on changes by mav.

Suggested by: mav (*)
Reviewed by: imp, mav, imp, mckusick, scottl (intermediate versions)
Tested by: pho
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D27225

show more ...


123456789