#!/usr/bin/perl

# bit 1 (TCQ) and 14 (word is valid) must be set to indicate tcq support
$mask = (1 << 1) | (1 << 14);

# bit 15 must be cleared too
$bits = $mask | (1 << 15);

# mail me the results!
$addr = "linux-tcq\@kernel.dk";

foreach $i (</proc/ide/ide*>) {
        foreach $d (<$i/hd*>) {
                @words = split(/\s/,`cat $d/identify`);
                $w83 = hex($words[83]);
                if (!(($w83 & $bits) ^ $mask)) {
                        $model = `cat $d/model`;
                        push(@goodies, $model);
                        chomp($model);
                        print "$d ($model) supports TCQ\n";
                }
        }
}

if ($addr && $#goodies) {
        open(M, "| mail -s TCQ-report $addr");
        print M @goodies;
        close(M);
}


