Date: Tue, 9 Jan 2024 11:36:32 +0100 From: =?utf-8?Q?S=C3=B8ren_Schmidt?= <soren.schmidt@gmail.com> To: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Cc: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, Warner Losh <imp@bsdimp.com> Subject: Re: MMCCAM hang Message-ID: <49DE81A1-7DF5-48BF-A334-961A73B91E53@gmail.com> In-Reply-To: <CANCZdfrVyap71Q1=q8FJ8X9Fe2Wpj4tC8GQH0VHmgGrmerYwQQ@mail.gmail.com> References: <nsors8o2-25pn-pr36-7rp6-3rp47psp7q69@yvfgf.mnoonqbm.arg> <CANCZdfrVyap71Q1=q8FJ8X9Fe2Wpj4tC8GQH0VHmgGrmerYwQQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_F8AECE7F-C308-49AB-AE34-8F2C3C2992E6 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 28 Dec 2023, at 02.08, Warner Losh <imp@bsdimp.com> wrote: > On Wed, Dec 27, 2023, 4:55=E2=80=AFPM Bjoern A. Zeeb = <bzeeb-lists@lists.zabbadoz.net <mailto:bzeeb-lists@lists.zabbadoz.net>> = wrote: >> Hi, >>=20 >> sdhci_fsl_fdt0: Desired SD/MMC freq: 50000000, actual: 50000000; base = 700000000 prescale 1 divisor 14 >> GEOM: new disk sdda0 >> sdda0 at sdhci_slot0 bus 0 scbus0 target 0 lun 0 >> sdda0: Relative addr: 00000002 >> Card features: <MMC Memory High-Capacity> >> Card random: unblocking device. >> GEOM: new disk sdda0boot0 >> memory OCR: 00ff8080 >> sdda0: Serial Number ....... >> sdda0: MMCHC .................................. by 17 0x0000 >> GEOM: new disk sdda0boot1 >> uhub0: 2 ports with 2 removable, self powered >>=20 >> at which point basically anything hangs. In auto-boot it is >> before/during file-system checks. >> In single user mode camcontrol devlist will show sdda0 >> but >>=20 >> root@:/ # gpart show sdda0 >> load: 6.06 cmd: gpart 24 [g_waitfor_event] 1.28r 0.00u 0.00s 0% = 2088k >> {forever} >>=20 >>=20 >> Unclear at which point I broke to debugger and this is where it seems = to >> hang: >>=20 >> db> trace 100088 >> Tracing pid 4 tid 100088 td 0xffff0000dc527000 >> ipi_stop() at ipi_stop+0x34 >> arm_gic_v3_intr() at arm_gic_v3_intr+0xe4 >> intr_irq_handler() at intr_irq_handler+0x80 >> handle_el1h_irq() at handle_el1h_irq+0x14 >> --- interrupt >> spinlock_exit() at spinlock_exit+0x44 >> callout_reset_sbt_on() at callout_reset_sbt_on+0x210 >> sdhci_cam_action() at sdhci_cam_action+0x284 >> xpt_run_devq() at xpt_run_devq+0x4c8 >> xpt_action_default() at xpt_action_default+0x470 >> sddastart() at sddastart+0x1bc >> xpt_run_allocq() at xpt_run_allocq+0xa8 >> xpt_done_process() at xpt_done_process+0x610 >> xpt_done_td() at xpt_done_td+0x1a8 >> fork_exit() at fork_exit+0x8c >> fork_trampoline() at fork_trampoline+0x18 >>=20 >>=20 >> Anyone an idea? >=20 >=20 >=20 > Looks like deadlock with another thread. Anybody else in the time = keeping / callout code? I think this is related to the MMC driver having issues (MMCCAM or not). If I try to use a MMC sdcard on any of my rk35X8 boards as the disk = device it will eventually hang on first access to the MMC controlled = media. I thought I had an issue here with my dev setup but clealy I'm not alone = :) -- S=C3=B8ren Schmidt sos@deepcore.dk / sos@freebsd.org "So much code to hack, so little time" --Apple-Mail=_F8AECE7F-C308-49AB-AE34-8F2C3C2992E6 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"content-type" content=3D"text/html; = charset=3Dutf-8"></head><body style=3D"overflow-wrap: break-word; = -webkit-nbsp-mode: space; line-break: = after-white-space;"><div><blockquote type=3D"cite"><div>On 28 Dec 2023, = at 02.08, Warner Losh <imp@bsdimp.com> wrote:</div><div><div = dir=3D"auto" style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; = font-size: 14px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;"><div><div class=3D"gmail_quote"><div dir=3D"ltr" = class=3D"gmail_attr">On Wed, Dec 27, 2023, 4:55=E2=80=AFPM Bjoern A. = Zeeb <<a = href=3D"mailto:bzeeb-lists@lists.zabbadoz.net">bzeeb-lists@lists.zabbadoz.= net</a>> wrote:<br></div><blockquote class=3D"gmail_quote" = style=3D"margin: 0px 0px 0px 0.8ex; border-left-width: 1px; = border-left-style: solid; border-left-color: rgb(204, 204, 204); = padding-left: 1ex;">Hi,<br><br>sdhci_fsl_fdt0: Desired SD/MMC freq: = 50000000, actual: 50000000; base 700000000 prescale 1 divisor = 14<br>GEOM: new disk sdda0<br>sdda0 at sdhci_slot0 bus 0 scbus0 target 0 = lun 0<br>sdda0: Relative addr: 00000002<br>Card features: <MMC Memory = High-Capacity><br>Card random: unblocking device.<br>GEOM: new disk = sdda0boot0<br>memory OCR: 00ff8080<br>sdda0: Serial Number = .......<br>sdda0: MMCHC .................................. by 17 = 0x0000<br>GEOM: new disk sdda0boot1<br>uhub0: 2 ports with 2 removable, = self powered<br><br>at which point basically anything hangs. In = auto-boot it is<br>before/during file-system checks.<br>In single user = mode camcontrol devlist will show sdda0<br>but<br><br>root@:/ # gpart = show sdda0<br>load: 6.06 cmd: gpart 24 [g_waitfor_event] 1.28r = 0.00u 0.00s 0% 2088k<br>{forever}<br><br><br>Unclear at which point I = broke to debugger and this is where it seems to<br>hang:<br><br>db> = trace 100088<br>Tracing pid 4 tid 100088 td = 0xffff0000dc527000<br>ipi_stop() at ipi_stop+0x34<br>arm_gic_v3_intr() = at arm_gic_v3_intr+0xe4<br>intr_irq_handler() at = intr_irq_handler+0x80<br>handle_el1h_irq() at = handle_el1h_irq+0x14<br>--- interrupt<br>spinlock_exit() at = spinlock_exit+0x44<br>callout_reset_sbt_on() at = callout_reset_sbt_on+0x210<br>sdhci_cam_action() at = sdhci_cam_action+0x284<br>xpt_run_devq() at = xpt_run_devq+0x4c8<br>xpt_action_default() at = xpt_action_default+0x470<br>sddastart() at = sddastart+0x1bc<br>xpt_run_allocq() at = xpt_run_allocq+0xa8<br>xpt_done_process() at = xpt_done_process+0x610<br>xpt_done_td() at = xpt_done_td+0x1a8<br>fork_exit() at fork_exit+0x8c<br>fork_trampoline() = at fork_trampoline+0x18<br><br><br>Anyone an = idea?<br></blockquote></div></div><div dir=3D"auto"><br></div><div = dir=3D"auto"><br></div><div dir=3D"auto">Looks like deadlock with = another thread. Anybody else in the time keeping / callout = code?</div></div></div></blockquote><div><br></div>I think this is = related to the MMC driver having issues (MMCCAM or not).</div><div>If I = try to use a MMC sdcard on any of my rk35X8 boards as the disk device it = will eventually hang on first access to the MMC controlled = media.</div><div>I thought I had an issue here with my dev setup but = clealy I'm not alone :)</div><div><br></div><div><span = style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">--</span><br = style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span = style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">S=C3=B8ren = Schmidt</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, = 0);"><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, = 0);">sos@deepcore.dk / sos@freebsd.org</span><br style=3D"caret-color: = rgb(0, 0, 0); color: rgb(0, 0, 0);"><span style=3D"caret-color: rgb(0, = 0, 0); color: rgb(0, 0, 0);">"So much code to hack, so little = time"</span></div><br></body></html>= --Apple-Mail=_F8AECE7F-C308-49AB-AE34-8F2C3C2992E6--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49DE81A1-7DF5-48BF-A334-961A73B91E53>