optimisation: tiny optimisation for embedded ice
authorØyvind Harboe <oyvind.harboe@zylin.com>
Thu, 10 Dec 2009 14:09:20 +0000 (15:09 +0100)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Fri, 11 Dec 2009 08:17:23 +0000 (09:17 +0100)
use two shift operations instead of three to set embedded
ice register.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
src/target/embeddedice.h

index 1faa1eeba620f87356d76251b7add24988eca708..693391cc787d0c765396bbb6eb2fd572302a6031 100644 (file)
@@ -118,15 +118,14 @@ int embeddedice_handshake(struct arm_jtag *jtag_info, int hsbit, uint32_t timeou
  */
 static __inline__ void embeddedice_write_reg_inner(struct jtag_tap *tap, int reg_addr, uint32_t value)
 {
  */
 static __inline__ void embeddedice_write_reg_inner(struct jtag_tap *tap, int reg_addr, uint32_t value)
 {
-       static const int embeddedice_num_bits[]={32,5,1};
-       uint32_t values[3];
+       static const int embeddedice_num_bits[] = {32, 6};
+       uint32_t values[2];
 
 
-       values[0]=value;
-       values[1]=reg_addr;
-       values[2]=1;
+       values[0] = value;
+       values[1] = (1 << 5) | reg_addr;
 
        jtag_add_dr_out(tap,
 
        jtag_add_dr_out(tap,
-                       3,
+                       2,
                        embeddedice_num_bits,
                        values,
                        jtag_get_end_state());
                        embeddedice_num_bits,
                        values,
                        jtag_get_end_state());