This is an automated email from Gerrit.

"Henrik Brix Andersen <hen...@brixandersen.dk>" just uploaded a new patch set 
to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/8613

-- gerrit

commit be4c51c4278a7c3fa8da72761871182c532a2fff
Author: Henrik Brix Andersen <he...@vestas.com>
Date:   Wed Dec 11 09:34:57 2024 +0100

    jtag/drivers/xlnx_pcie_xvc: use correct TMS polarity during pathmove
    
    The xlnx_pcie_xvc_execute_pathmove() function checks whether TMS
    should be high or low for transitioning from the current state to the
    next state, but then calls xlnx_pcie_xvc_transact() with the opposite
    level, leading to invalid state transitions.
    
    Fix the polarity of TMS in the calls to xlnx_pcie_xvc_transact() to
    match the required TMS level.
    
    Change-Id: I2383e41fb70063e26aa69fabcf728df597607934
    Signed-off-by: Henrik Brix Andersen <he...@vestas.com>

diff --git a/src/jtag/drivers/xlnx-pcie-xvc.c b/src/jtag/drivers/xlnx-pcie-xvc.c
index d90a022cda..5c4fa6d4a3 100644
--- a/src/jtag/drivers/xlnx-pcie-xvc.c
+++ b/src/jtag/drivers/xlnx-pcie-xvc.c
@@ -210,9 +210,9 @@ static int xlnx_pcie_xvc_execute_pathmove(struct 
jtag_command *cmd)
 
        for (unsigned int i = 0; i < num_states; i++) {
                if (path[i] == tap_state_transition(tap_get_state(), false)) {
-                       err = xlnx_pcie_xvc_transact(1, 1, 0, NULL);
-               } else if (path[i] == tap_state_transition(tap_get_state(), 
true)) {
                        err = xlnx_pcie_xvc_transact(1, 0, 0, NULL);
+               } else if (path[i] == tap_state_transition(tap_get_state(), 
true)) {
+                       err = xlnx_pcie_xvc_transact(1, 1, 0, NULL);
                } else {
                        LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition.",
                                  tap_state_name(tap_get_state()),

-- 

Reply via email to