Pushed, thanks.

On Mon, May 26, 2014 at 11:57:32PM +0800, [email protected] wrote:
> From: Junyan He <[email protected]>
> 
> 1. Some platforms do not have key word "Gen" or "Graphic" when run the
>    lspci command. So we failed to get the pci id in such cases.
>    We now just use the 8086 key word and get the sub pci id, and compare
>    it to all the gen known gen pci ids. This can be safe in all platforms.
> 2. When the pci id has a-f hex digit, the pci id in gbe_bin_generater is
>    wrong. Fix it.
> 
> Signed-off-by: Junyan He <[email protected]>
> Signed-off-by: Zhigang Gong <[email protected]>
> ---
>  backend/src/gbe_bin_generater.cpp |    7 +++++--
>  src/GetGenID.sh                   |   26 +++++++++++++++++++++++++-
>  2 files changed, 30 insertions(+), 3 deletions(-)
> 
> diff --git a/backend/src/gbe_bin_generater.cpp 
> b/backend/src/gbe_bin_generater.cpp
> index 50020b5..898e2f2 100644
> --- a/backend/src/gbe_bin_generater.cpp
> +++ b/backend/src/gbe_bin_generater.cpp
> @@ -34,6 +34,7 @@
>  #include <vector>
>  #include <algorithm>
>  #include <stdlib.h>
> +#include <iostream>
>  #include <stdio.h>
>  
>  #include "backend/program.h"
> @@ -46,7 +47,7 @@ using namespace std;
>  #define FILE_BUILD_FAILED 3
>  #define FILE_SERIALIZATION_FAILED 4
>  
> -static int gen_pci_id = 0;
> +static uint32_t gen_pci_id = 0;
>  
>  class program_build_instance {
>  
> @@ -296,7 +297,9 @@ int main (int argc, const char **argv)
>                  return 1;
>              }
>  
> -            gen_pci_id = (s[0] - '0') << 12 | (s[1] - '0') << 8 | (s[2] - 
> '0') << 4 | (s[3] - '0');
> +            std::stringstream str(s);
> +            str >> std::hex >> gen_pci_id;
> +
>              used_index[optind-1] = 1;
>              // We must set the image base index here, as we invoke the 
> backend in a non-standard way.
>              gbe_set_image_base_index(3);
> diff --git a/src/GetGenID.sh b/src/GetGenID.sh
> index 3114bd8..ee7fe5c 100755
> --- a/src/GetGenID.sh
> +++ b/src/GetGenID.sh
> @@ -1,2 +1,26 @@
>  #!/bin/bash
> -lspci -nn | grep "Gen .* Graphics" -i  | grep "\[8086:.*\]" -o | awk -F : 
> '{print $2}' | awk -F ] '{print $1}'
> +genpciid=(0152 0162 0156 0166 015a 0f31 0402 0412 0422 040a 041a 042a 0406 
> 0416 0426 0c02 0c12 0c22 0c0a 0c1a 0c2a 0c06 0c16 0c26 0a02 0a12 0a22 0a0a 
> 0a1a 0a2a 0a06 0a16 0a26 0d02 0d12 0d22 0d0a 0d1a 0d2a 0d06 0d16 0d26)
> +pciid=($(lspci -nn | grep "\[8086:.*\]" -o | awk -F : '{print $2}' | awk -F 
> ] '{print $1}'))
> +n=${#pciid[*]}
> +i=0
> +m=${#genpciid[*]}
> +j=0
> +while [ $i -lt $n ]
> +do
> +    id1=${pciid[$i]}
> +    let j=0
> +
> +    while [ $j -lt $m ]
> +    do
> +     id2=${genpciid[$j]}
> +
> +     if [ ${id1} == ${id2} ]
> +     then
> +         echo ${id1}
> +         exit 0
> +     fi
> +     let j=j+1
> +    done
> +
> +    let i=i+1
> +done
> -- 
> 1.7.9.5
> 
> 
> 
> _______________________________________________
> Beignet mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/beignet
_______________________________________________
Beignet mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to