Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Aug 2008 16:13:29 +0100
From:      Dieter <freebsd@sopwith.solgatos.com>
To:        Sean Bruno <sbruno@miralink.com>
Cc:        freebsd-firewire@freebsd.org
Subject:   Re: This is where I'm going with fwcontrol 
Message-ID:  <200808282313.XAA17597@sopwith.solgatos.com>
In-Reply-To: Your message of "Mon, 11 Aug 2008 18:07:03 PDT." <48A0E237.5020702@miralink.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
While looking at the code and wondering what "adjust_gap_count"
had to do with cyclemaster mode, I noticed that -f was setting
the 2nd argument to
send_phy_config(int fd, int root_node, int gap_count)
which is root_node, not gap_count.

I also noticed that send_phy_config() does (root_node & 0x3f),
so having the range check be 0x3f rather than INT32_MAX
seems to make sense.

I haven't yet figured out exactly which 7 bits this stuff is
actually setting.

So does the following look like an improvement (however minor)
to anyone else, or just me?  :-)


@@ -730,7 +730,7 @@
        bool dump_phy_reg = false;
 
        int32_t priority_budget = -1;
-       int32_t adjust_gap_count = -1;
+       int32_t set_root_node = -1;
        int32_t reset_gap_count = -1;
        int32_t send_link_on = -1;
        int32_t send_reset_start = -1;
@@ -790,9 +790,9 @@
                        display_board_only = false;
                        break;
                case 'f':
-                       adjust_gap_count = strtol(optarg, NULL, 0);
-                       if ( (adjust_gap_count < 0) || (adjust_gap_count > INT32_MAX) )
-                               err(EX_USAGE, "%s:adjust_gap_count out of range", __func__);
+                       set_root_node = strtol(optarg, NULL, 0);
+                       if ( (set_root_node < 0) || (set_root_node > 0x3f) )
+                               err(EX_USAGE, "%s:set_root_node out of range", __func__);
                        open_needed = true;
                        command_set = true;
                        display_board_only = false;
@@ -961,8 +961,8 @@
        /*
         * Adjust the gap count for this card/bus to value "-f"
         */
-       if (adjust_gap_count >= 0)
-               send_phy_config(fd, adjust_gap_count, -1);
+       if (set_root_node >= 0)
+               send_phy_config(fd, set_root_node, -1);
 
        /*
         * Reset the gap count for this card/bus  "-g"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808282313.XAA17597>