Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 06 May 2020 05:24:32 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 204521] [new driver] [request] Port rtsx from OpenBSD to FreeBSD
Message-ID:  <bug-204521-227-8GkbQesLG6@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-204521-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-204521-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D204521

--- Comment #50 from Jesper Schmitz Mouridsen <jsm@FreeBSD.org> ---
Still does not work..

I looked into the bus width thing though.. it sets 1 bit even though capabi=
lity
is 4 bit
in mmc.c
mmc_app_decode_scr(uint32_t *raw_scr, struct mmc_scr *scr)
{
        unsigned int scr_struct;

        memset(scr, 0, sizeof(*scr));

        scr_struct =3D mmc_get_bits(raw_scr, 64, 60, 4);
        if (scr_struct !=3D 0) {
                printf("Unrecognised SCR structure version %d\n",
                    scr_struct);
                return;
        }
        scr->sda_vsn =3D mmc_get_bits(raw_scr, 64, 56, 4);
        scr->bus_widths =3D mmc_get_bits(raw_scr, 64, 48, 4);
}
and in mmc_discover_cards function in mmc.c
if ((host_caps & MMC_CAP_4_BIT_DATA) &&
                            (ivar->scr.bus_widths & SD_SCR_BUS_WIDTH_4))
                                ivar->bus_width =3D bus_width_4;

but bus_width is 1 and iirc 4 on openbsd so ivar->scr.bus_widths &
SD_SCR_BUS_WIDTH_4 is false. Removing it sets the bus width to 4 bits, but
still controller timeout.

so perhaps mmc_app_decode_scr does not apply to Realteks way of doing thing=
s?

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-204521-227-8GkbQesLG6>