reload.sh 720 B

12345678910111213141516171819202122232425262728293031
  1. #! /bin/bash
  2. device=`lspci -vv | grep -m 1 Xilinx | awk '{print $1}'`
  3. if [ -z "$device" ]; then
  4. echo "Xilinx device doesn't exist, rescanning..."
  5. echo 1 > /sys/bus/pci/rescan
  6. exit
  7. else
  8. echo "Xilinx is located at: " $device
  9. fi
  10. echo "remove devices"
  11. echo 1 > /sys/bus/pci/devices/0000\:${device:0:2}\:${device:3:4}/remove
  12. sleep 1
  13. echo "rescan"
  14. echo 1 > /sys/bus/pci/rescan
  15. sleep 1
  16. echo "remove driver"
  17. rmmod pciDriver
  18. sleep 1
  19. echo "instantiate driver"
  20. modprobe pciDriver
  21. sleep 1
  22. # for devices with different ID
  23. echo "10ee 6028" > /sys/bus/pci/drivers/pciDriver/new_id
  24. pci -i
  25. sleep .1
  26. pci -r 9000
  27. echo "set bus master dma"
  28. dev=$device
  29. echo Enabling bus mastering on device $dev
  30. setpci -s $dev 4.w=0x07