<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/simtrace2/+/16616">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">cardem: Make card_emu_report_status() optionally use IRQ endpoint<br><br>This just introduces the capability to report on IRQ, but we don't<br>actually use it yet.<br><br>Change-Id: I83db4463b7010ba243a8adbda3ac9393975b4814<br>---<br>M firmware/libcommon/include/card_emu.h<br>M firmware/libcommon/include/simtrace_usb.h<br>M firmware/libcommon/source/card_emu.c<br>M firmware/libcommon/source/mode_cardemu.c<br>4 files changed, 9 insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/16/16616/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/firmware/libcommon/include/card_emu.h b/firmware/libcommon/include/card_emu.h</span><br><span>index e545593..aaa07c5 100644</span><br><span>--- a/firmware/libcommon/include/card_emu.h</span><br><span>+++ b/firmware/libcommon/include/card_emu.h</span><br><span>@@ -56,7 +56,7 @@</span><br><span> </span><br><span> struct llist_head *card_emu_get_uart_tx_queue(struct card_handle *ch);</span><br><span> void card_emu_have_new_uart_tx(struct card_handle *ch);</span><br><span style="color: hsl(0, 100%, 40%);">-void card_emu_report_status(struct card_handle *ch);</span><br><span style="color: hsl(120, 100%, 40%);">+void card_emu_report_status(struct card_handle *ch, bool report_on_irq);</span><br><span> </span><br><span> #define ENABLE_TX    0x01</span><br><span> #define ENABLE_RX       0x02</span><br><span>diff --git a/firmware/libcommon/include/simtrace_usb.h b/firmware/libcommon/include/simtrace_usb.h</span><br><span>index c0da9c5..be2da9f 100644</span><br><span>--- a/firmware/libcommon/include/simtrace_usb.h</span><br><span>+++ b/firmware/libcommon/include/simtrace_usb.h</span><br><span>@@ -64,4 +64,4 @@</span><br><span> #define SIMTRACE_CARDEM_USB_EP_USIM2_INT           3</span><br><span> </span><br><span> /*! Maximum number of endpoints */</span><br><span style="color: hsl(0, 100%, 40%);">-#define BOARD_USB_NUMENDPOINTS               6</span><br><span style="color: hsl(120, 100%, 40%);">+#define BOARD_USB_NUMENDPOINTS               7 /* 0 (control) + 2 (interfaces) * 3 (endpoints) */</span><br><span>diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c</span><br><span>index ced6b14..352284f 100644</span><br><span>--- a/firmware/libcommon/source/card_emu.c</span><br><span>+++ b/firmware/libcommon/source/card_emu.c</span><br><span>@@ -1051,13 +1051,16 @@</span><br><span>  }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void card_emu_report_status(struct card_handle *ch)</span><br><span style="color: hsl(120, 100%, 40%);">+void card_emu_report_status(struct card_handle *ch, bool report_on_irq)</span><br><span> {</span><br><span>  struct msgb *msg;</span><br><span>    struct cardemu_usb_msg_status *sts;</span><br><span style="color: hsl(120, 100%, 40%);">+   uint8_t ep = ch->in_ep;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  msg = usb_buf_alloc_st(ch->in_ep, SIMTRACE_MSGC_CARDEM,</span><br><span style="color: hsl(0, 100%, 40%);">-                              SIMTRACE_MSGT_BD_CEMU_STATUS);</span><br><span style="color: hsl(120, 100%, 40%);">+        if (report_on_irq)</span><br><span style="color: hsl(120, 100%, 40%);">+            ep = ch->irq_ep;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ msg = usb_buf_alloc_st(ep, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_BD_CEMU_STATUS);</span><br><span>      if (!msg)</span><br><span>            return;</span><br><span> </span><br><span>diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c</span><br><span>index 1d074cb..fbc042f 100644</span><br><span>--- a/firmware/libcommon/source/mode_cardemu.c</span><br><span>+++ b/firmware/libcommon/source/mode_cardemu.c</span><br><span>@@ -538,7 +538,7 @@</span><br><span>               usb_buf_free(msg);</span><br><span>           break;</span><br><span>       case SIMTRACE_MSGT_BD_CEMU_STATUS:</span><br><span style="color: hsl(0, 100%, 40%);">-              card_emu_report_status(ci->ch);</span><br><span style="color: hsl(120, 100%, 40%);">+            card_emu_report_status(ci->ch, false);</span><br><span>            usb_buf_free(msg);</span><br><span>           break;</span><br><span>       case SIMTRACE_MSGT_BD_CEMU_STATS:</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/simtrace2/+/16616">change 16616</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/simtrace2/+/16616"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: simtrace2 </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I83db4463b7010ba243a8adbda3ac9393975b4814 </div>
<div style="display:none"> Gerrit-Change-Number: 16616 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>