<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17038">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">PC_to_RDR_SetDataRateAndClockFrequency support<br><br>Change-Id: I96bb11ac7dff0880c56bd4592e9fde900f55f7a1<br>---<br>M ccid_common/ccid_device.c<br>M ccid_common/ccid_device.h<br>M ccid_common/ccid_slot_fsm.c<br>3 files changed, 9 insertions(+), 4 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/ccid_common/ccid_device.c b/ccid_common/ccid_device.c</span><br><span>index b14f194..34fdcc8 100644</span><br><span>--- a/ccid_common/ccid_device.c</span><br><span>+++ b/ccid_common/ccid_device.c</span><br><span>@@ -649,7 +649,7 @@</span><br><span>       int rc;</span><br><span> </span><br><span>  /* FIXME: which rate to return in failure case? */</span><br><span style="color: hsl(0, 100%, 40%);">-      rc = cs->ci->slot_ops->set_rate_and_clock(cs, freq_hz, rate_bps);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = cs->ci->slot_ops->set_rate_and_clock(cs, &freq_hz, &rate_bps);</span><br><span>         if (rc < 0)</span><br><span>               resp = ccid_gen_clock_and_rate(cs, seq, CCID_CMD_STATUS_FAILED, -rc, 9600, 2500000);</span><br><span>         else</span><br><span>diff --git a/ccid_common/ccid_device.h b/ccid_common/ccid_device.h</span><br><span>index f364f72..bcf5d12 100644</span><br><span>--- a/ccid_common/ccid_device.h</span><br><span>+++ b/ccid_common/ccid_device.h</span><br><span>@@ -86,7 +86,7 @@</span><br><span>    void (*set_clock)(struct ccid_slot *cs, enum ccid_clock_command cmd);</span><br><span>        int (*set_params)(struct ccid_slot *cs, uint8_t seq, enum ccid_protocol_num proto,</span><br><span>                     const struct ccid_pars_decoded *pars_dec);</span><br><span style="color: hsl(0, 100%, 40%);">-    int (*set_rate_and_clock)(struct ccid_slot *cs, uint32_t freq_hz, uint32_t rate_bps);</span><br><span style="color: hsl(120, 100%, 40%);">+ int (*set_rate_and_clock)(struct ccid_slot *cs, uint32_t* freq_hz, uint32_t* rate_bps);</span><br><span>      void (*icc_set_insertion_status)(struct ccid_slot *cs, bool present);</span><br><span>        int (*handle_fsm_events)(struct ccid_slot *cs, bool enable);</span><br><span> };</span><br><span>diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c</span><br><span>index 08cbbad..747fef3 100644</span><br><span>--- a/ccid_common/ccid_slot_fsm.c</span><br><span>+++ b/ccid_common/ccid_slot_fsm.c</span><br><span>@@ -323,9 +323,14 @@</span><br><span>   return 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int iso_fsm_slot_set_rate_and_clock(struct ccid_slot *cs, uint32_t freq_hz, uint32_t rate_bps)</span><br><span style="color: hsl(120, 100%, 40%);">+static int iso_fsm_slot_set_rate_and_clock(struct ccid_slot *cs, uint32_t* freq_hz, uint32_t* rate_bps)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-   /* we always acknowledge all rates/clocks */</span><br><span style="color: hsl(120, 100%, 40%);">+  /* we return the currently used values, since we support automatic features */</span><br><span style="color: hsl(120, 100%, 40%);">+        struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       *rate_bps = card_uart_ctrl(ss->cuart, CUART_CTL_GET_BAUDRATE, false);</span><br><span style="color: hsl(120, 100%, 40%);">+      *freq_hz = card_uart_ctrl(ss->cuart, CUART_CTL_GET_CLOCK_FREQ, false)/1000;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     return 0;</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17038">change 17038</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/osmo-ccid-firmware/+/17038"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ccid-firmware </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I96bb11ac7dff0880c56bd4592e9fde900f55f7a1 </div>
<div style="display:none"> Gerrit-Change-Number: 17038 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Hoernchen <ewild@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>