usb: dwc2: Delete unused functionality
Deleted dwc2_hcd_dump_frrem() function, because it used undefined parameters from dwc2_hsotg structure. The function body was in #ifdef statement and was never compiled. Also removed that parameters from dwc2_hsotg structure, which were used only in dwc2_hcd_dump_frrem() function. And also delete dwc2_sample_frrem macro, because without dwc2_hcd_dump_frrem() function it's lose its purpose. Acked-by: John Youn <johnyoun@synopsys.com> Signed-off-by: Grigor Tovmasyan <tovmasya@synopsys.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
abd064a19d
commit
e890f1dae3
|
@ -1021,24 +1021,6 @@ struct dwc2_hsotg {
|
|||
struct kmem_cache *desc_gen_cache;
|
||||
struct kmem_cache *desc_hsisoc_cache;
|
||||
|
||||
#ifdef DEBUG
|
||||
u32 frrem_samples;
|
||||
u64 frrem_accum;
|
||||
|
||||
u32 hfnum_7_samples_a;
|
||||
u64 hfnum_7_frrem_accum_a;
|
||||
u32 hfnum_0_samples_a;
|
||||
u64 hfnum_0_frrem_accum_a;
|
||||
u32 hfnum_other_samples_a;
|
||||
u64 hfnum_other_frrem_accum_a;
|
||||
|
||||
u32 hfnum_7_samples_b;
|
||||
u64 hfnum_7_frrem_accum_b;
|
||||
u32 hfnum_0_samples_b;
|
||||
u64 hfnum_0_frrem_accum_b;
|
||||
u32 hfnum_other_samples_b;
|
||||
u64 hfnum_other_frrem_accum_b;
|
||||
#endif
|
||||
#endif /* CONFIG_USB_DWC2_HOST || CONFIG_USB_DWC2_DUAL_ROLE */
|
||||
|
||||
#if IS_ENABLED(CONFIG_USB_DWC2_PERIPHERAL) || \
|
||||
|
|
|
@ -3996,7 +3996,6 @@ void dwc2_hcd_dump_state(struct dwc2_hsotg *hsotg)
|
|||
(p_tx_status & TXSTS_QSPCAVAIL_MASK) >> TXSTS_QSPCAVAIL_SHIFT);
|
||||
dev_dbg(hsotg->dev, " P Tx FIFO Space Avail: %d\n",
|
||||
(p_tx_status & TXSTS_FSPCAVAIL_MASK) >> TXSTS_FSPCAVAIL_SHIFT);
|
||||
dwc2_hcd_dump_frrem(hsotg);
|
||||
dwc2_dump_global_registers(hsotg);
|
||||
dwc2_dump_host_registers(hsotg);
|
||||
dev_dbg(hsotg->dev,
|
||||
|
@ -4005,75 +4004,6 @@ void dwc2_hcd_dump_state(struct dwc2_hsotg *hsotg)
|
|||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* NOTE: This function will be removed once the peripheral controller code
|
||||
* is integrated and the driver is stable
|
||||
*/
|
||||
void dwc2_hcd_dump_frrem(struct dwc2_hsotg *hsotg)
|
||||
{
|
||||
#ifdef DWC2_DUMP_FRREM
|
||||
dev_dbg(hsotg->dev, "Frame remaining at SOF:\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->frrem_samples, hsotg->frrem_accum,
|
||||
hsotg->frrem_samples > 0 ?
|
||||
hsotg->frrem_accum / hsotg->frrem_samples : 0);
|
||||
dev_dbg(hsotg->dev, "\n");
|
||||
dev_dbg(hsotg->dev, "Frame remaining at start_transfer (uframe 7):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_7_samples,
|
||||
hsotg->hfnum_7_frrem_accum,
|
||||
hsotg->hfnum_7_samples > 0 ?
|
||||
hsotg->hfnum_7_frrem_accum / hsotg->hfnum_7_samples : 0);
|
||||
dev_dbg(hsotg->dev, "Frame remaining at start_transfer (uframe 0):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_0_samples,
|
||||
hsotg->hfnum_0_frrem_accum,
|
||||
hsotg->hfnum_0_samples > 0 ?
|
||||
hsotg->hfnum_0_frrem_accum / hsotg->hfnum_0_samples : 0);
|
||||
dev_dbg(hsotg->dev, "Frame remaining at start_transfer (uframe 1-6):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_other_samples,
|
||||
hsotg->hfnum_other_frrem_accum,
|
||||
hsotg->hfnum_other_samples > 0 ?
|
||||
hsotg->hfnum_other_frrem_accum / hsotg->hfnum_other_samples :
|
||||
0);
|
||||
dev_dbg(hsotg->dev, "\n");
|
||||
dev_dbg(hsotg->dev, "Frame remaining at sample point A (uframe 7):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_7_samples_a, hsotg->hfnum_7_frrem_accum_a,
|
||||
hsotg->hfnum_7_samples_a > 0 ?
|
||||
hsotg->hfnum_7_frrem_accum_a / hsotg->hfnum_7_samples_a : 0);
|
||||
dev_dbg(hsotg->dev, "Frame remaining at sample point A (uframe 0):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_0_samples_a, hsotg->hfnum_0_frrem_accum_a,
|
||||
hsotg->hfnum_0_samples_a > 0 ?
|
||||
hsotg->hfnum_0_frrem_accum_a / hsotg->hfnum_0_samples_a : 0);
|
||||
dev_dbg(hsotg->dev, "Frame remaining at sample point A (uframe 1-6):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_other_samples_a, hsotg->hfnum_other_frrem_accum_a,
|
||||
hsotg->hfnum_other_samples_a > 0 ?
|
||||
hsotg->hfnum_other_frrem_accum_a / hsotg->hfnum_other_samples_a
|
||||
: 0);
|
||||
dev_dbg(hsotg->dev, "\n");
|
||||
dev_dbg(hsotg->dev, "Frame remaining at sample point B (uframe 7):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_7_samples_b, hsotg->hfnum_7_frrem_accum_b,
|
||||
hsotg->hfnum_7_samples_b > 0 ?
|
||||
hsotg->hfnum_7_frrem_accum_b / hsotg->hfnum_7_samples_b : 0);
|
||||
dev_dbg(hsotg->dev, "Frame remaining at sample point B (uframe 0):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_0_samples_b, hsotg->hfnum_0_frrem_accum_b,
|
||||
(hsotg->hfnum_0_samples_b > 0) ?
|
||||
hsotg->hfnum_0_frrem_accum_b / hsotg->hfnum_0_samples_b : 0);
|
||||
dev_dbg(hsotg->dev, "Frame remaining at sample point B (uframe 1-6):\n");
|
||||
dev_dbg(hsotg->dev, " samples %u, accum %llu, avg %llu\n",
|
||||
hsotg->hfnum_other_samples_b, hsotg->hfnum_other_frrem_accum_b,
|
||||
(hsotg->hfnum_other_samples_b > 0) ?
|
||||
hsotg->hfnum_other_frrem_accum_b / hsotg->hfnum_other_samples_b
|
||||
: 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
struct wrapper_priv_data {
|
||||
struct dwc2_hsotg *hsotg;
|
||||
};
|
||||
|
|
|
@ -783,19 +783,6 @@ int dwc2_hcd_is_b_host(struct dwc2_hsotg *hsotg);
|
|||
*/
|
||||
void dwc2_hcd_dump_state(struct dwc2_hsotg *hsotg);
|
||||
|
||||
/**
|
||||
* dwc2_hcd_dump_frrem() - Dumps the average frame remaining at SOF
|
||||
*
|
||||
* @hsotg: The DWC2 HCD
|
||||
*
|
||||
* This can be used to determine average interrupt latency. Frame remaining is
|
||||
* also shown for start transfer and two additional sample points.
|
||||
*
|
||||
* NOTE: This function will be removed once the peripheral controller code
|
||||
* is integrated and the driver is stable
|
||||
*/
|
||||
void dwc2_hcd_dump_frrem(struct dwc2_hsotg *hsotg);
|
||||
|
||||
/* URB interface */
|
||||
|
||||
/* Transfer flags */
|
||||
|
@ -813,47 +800,4 @@ int dwc2_host_get_speed(struct dwc2_hsotg *hsotg, void *context);
|
|||
void dwc2_host_complete(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd,
|
||||
int status);
|
||||
|
||||
#ifdef DEBUG
|
||||
/*
|
||||
* Macro to sample the remaining PHY clocks left in the current frame. This
|
||||
* may be used during debugging to determine the average time it takes to
|
||||
* execute sections of code. There are two possible sample points, "a" and
|
||||
* "b", so the _letter_ argument must be one of these values.
|
||||
*
|
||||
* To dump the average sample times, read the "hcd_frrem" sysfs attribute. For
|
||||
* example, "cat /sys/devices/lm0/hcd_frrem".
|
||||
*/
|
||||
#define dwc2_sample_frrem(_hcd_, _qh_, _letter_) \
|
||||
do { \
|
||||
struct hfnum_data _hfnum_; \
|
||||
struct dwc2_qtd *_qtd_; \
|
||||
\
|
||||
_qtd_ = list_entry((_qh_)->qtd_list.next, struct dwc2_qtd, \
|
||||
qtd_list_entry); \
|
||||
if (usb_pipeint(_qtd_->urb->pipe) && \
|
||||
(_qh_)->start_active_frame != 0 && !_qtd_->complete_split) { \
|
||||
_hfnum_.d32 = dwc2_readl((_hcd_)->regs + HFNUM); \
|
||||
switch (_hfnum_.b.frnum & 0x7) { \
|
||||
case 7: \
|
||||
(_hcd_)->hfnum_7_samples_##_letter_++; \
|
||||
(_hcd_)->hfnum_7_frrem_accum_##_letter_ += \
|
||||
_hfnum_.b.frrem; \
|
||||
break; \
|
||||
case 0: \
|
||||
(_hcd_)->hfnum_0_samples_##_letter_++; \
|
||||
(_hcd_)->hfnum_0_frrem_accum_##_letter_ += \
|
||||
_hfnum_.b.frrem; \
|
||||
break; \
|
||||
default: \
|
||||
(_hcd_)->hfnum_other_samples_##_letter_++; \
|
||||
(_hcd_)->hfnum_other_frrem_accum_##_letter_ += \
|
||||
_hfnum_.b.frrem; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
#else
|
||||
#define dwc2_sample_frrem(_hcd_, _qh_, _letter_) do {} while (0)
|
||||
#endif
|
||||
|
||||
#endif /* __DWC2_HCD_H__ */
|
||||
|
|
Loading…
Reference in New Issue