---

**[tickets:#430] openocd Linux BitBang Driver + kernel 6.9 super slow**

**Status:** new
**Milestone:** 0.10.0
**Created:** Fri Apr 26, 2024 09:36 PM UTC by Kevin Wolfe
**Last Updated:** Fri Apr 26, 2024 09:36 PM UTC
**Owner:** nobody


A change in the linux kernel from 6.8 to 6.9 causes a large delay (up to 
milliseconds if on the wrong core) when closing a gpio fd. This manifests in 
substantially increased programming times (orders of magnitudes larger).

The root cause is in the linuxgpiod_swdio_drive() function, which releases and 
reacquires the gpio resource on each bit change:

~~~
static void linuxgpiod_swdio_drive(bool is_output)
   {
       int retval;
    
       /*
        * FIXME: change direction requires release and re-require the line
        * https://stackoverflow.com/questions/58735140/
        * this would change in future libgpiod
        */
       gpiod_line_release(gpiod_line[ADAPTER_GPIO_IDX_SWDIO]);
~~~




---

Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/openocd/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/openocd/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.


Reply via email to