4c116cb138
The content of each register has been exposed through debugfs. There is no need to dump register content with printk in code lines. Remove them to make code more concise and readable. Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
54 lines
1.2 KiB
C
54 lines
1.2 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* xHCI host controller driver
|
|
*
|
|
* Copyright (C) 2008 Intel Corp.
|
|
*
|
|
* Author: Sarah Sharp
|
|
* Some code borrowed from the Linux EHCI driver.
|
|
*/
|
|
|
|
#include "xhci.h"
|
|
|
|
void xhci_dbg_erst(struct xhci_hcd *xhci, struct xhci_erst *erst)
|
|
{
|
|
u64 addr = erst->erst_dma_addr;
|
|
int i;
|
|
struct xhci_erst_entry *entry;
|
|
|
|
for (i = 0; i < erst->num_entries; i++) {
|
|
entry = &erst->entries[i];
|
|
xhci_dbg(xhci, "@%016llx %08x %08x %08x %08x\n",
|
|
addr,
|
|
lower_32_bits(le64_to_cpu(entry->seg_addr)),
|
|
upper_32_bits(le64_to_cpu(entry->seg_addr)),
|
|
le32_to_cpu(entry->seg_size),
|
|
le32_to_cpu(entry->rsvd));
|
|
addr += sizeof(*entry);
|
|
}
|
|
}
|
|
|
|
char *xhci_get_slot_state(struct xhci_hcd *xhci,
|
|
struct xhci_container_ctx *ctx)
|
|
{
|
|
struct xhci_slot_ctx *slot_ctx = xhci_get_slot_ctx(xhci, ctx);
|
|
int state = GET_SLOT_STATE(le32_to_cpu(slot_ctx->dev_state));
|
|
|
|
return xhci_slot_state_string(state);
|
|
}
|
|
|
|
void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *),
|
|
const char *fmt, ...)
|
|
{
|
|
struct va_format vaf;
|
|
va_list args;
|
|
|
|
va_start(args, fmt);
|
|
vaf.fmt = fmt;
|
|
vaf.va = &args;
|
|
xhci_dbg(xhci, "%pV\n", &vaf);
|
|
trace(&vaf);
|
|
va_end(args);
|
|
}
|
|
EXPORT_SYMBOL_GPL(xhci_dbg_trace);
|