@@ -21,12 +21,10 @@ import (
2121 "log"
2222 "os"
2323 "path/filepath"
24- "strings"
2524
2625 "github.com/pkg/errors"
2726
2827 "github.com/intel/intel-device-plugins-for-kubernetes/pkg/fpga/bitstream"
29- "github.com/intel/intel-device-plugins-for-kubernetes/pkg/fpga/device"
3028 fpga "github.com/intel/intel-device-plugins-for-kubernetes/pkg/fpga/linux"
3129)
3230
@@ -106,16 +104,7 @@ func validateFlags(cmd, bitstream, device string) error {
106104
107105// WIP testing command
108106func magic (dev string ) (err error ) {
109- d , err := device .GetFMEDevice ("" , dev )
110- fmt .Printf ("%+v %+v\n " , d , err )
111-
112- d1 , err := fpga .FindSysFsDevice (dev )
113- fmt .Printf ("%+v %+v\n " , d1 , err )
114- if err != nil {
115- return
116- }
117- d2 , err := fpga .NewPCIDevice (d1 )
118- fmt .Printf ("%+v %+v\n " , d2 , err )
107+ fmt .Println (fpga .ListFpgaDevices ())
119108 return
120109}
121110
@@ -153,9 +142,9 @@ func installBitstream(fname string, dryRun bool) (err error) {
153142
154143func fpgaInfo (fname string ) error {
155144 switch {
156- case strings . HasPrefix (fname , "/dev/dfl-fme." ), strings . HasPrefix ( fname , "/dev/intel-fpga-fme." ):
145+ case fpga . IsFpgaFME (fname ):
157146 return fmeInfo (fname )
158- case strings . HasPrefix (fname , "/dev/dfl-port." ), strings . HasPrefix ( fname , "/dev/intel-fpga-port." ):
147+ case fpga . IsFpgaPort (fname ):
159148 return portInfo (fname )
160149 }
161150 return errors .Errorf ("unknown FPGA device file %s" , fname )
@@ -185,14 +174,7 @@ func printBitstreamInfo(fname string) (err error) {
185174func fmeInfo (fname string ) error {
186175 var f fpga.FpgaFME
187176 var err error
188- switch {
189- case strings .HasPrefix (fname , "/dev/dfl-fme." ):
190- f , err = fpga .NewDflFME (fname )
191- case strings .HasPrefix (fname , "/dev/intel-fpga-fme." ):
192- f , err = fpga .NewIntelFpgaFME (fname )
193- default :
194- return errors .Errorf ("unknow type of FME %s" , fname )
195- }
177+ f , err = fpga .NewFpgaFME (fname )
196178 if err != nil {
197179 return err
198180 }
@@ -201,20 +183,21 @@ func fmeInfo(fname string) error {
201183 fmt .Println (f .GetAPIVersion ())
202184 fmt .Print ("CheckExtension:" )
203185 fmt .Println (f .CheckExtension ())
186+
187+ fmt .Println ("GetDevPath: " , f .GetDevPath ())
188+ fmt .Println ("GetSysFsPath: " , f .GetSysFsPath ())
189+ fmt .Println ("GetName: " , f .GetName ())
190+ pci , err := f .GetPCIDevice ()
191+ fmt .Printf ("GetPCIDevice: %+v %+v\n " , pci , err )
192+ fmt .Println ("GetInterfaceUUID: " , f .GetInterfaceUUID ())
193+ fmt .Println ("GetPortNums: " , f .GetPortsNum ())
204194 return nil
205195}
206196
207197func portInfo (fname string ) error {
208198 var f fpga.FpgaPort
209199 var err error
210- switch {
211- case strings .HasPrefix (fname , "/dev/dfl-port." ):
212- f , err = fpga .NewDflPort (fname )
213- case strings .HasPrefix (fname , "/dev/intel-fpga-port." ):
214- f , err = fpga .NewIntelFpgaPort (fname )
215- default :
216- err = errors .Errorf ("unknown type of port %s" , fname )
217- }
200+ f , err = fpga .NewFpgaPort (fname )
218201 if err != nil {
219202 return err
220203 }
@@ -234,42 +217,38 @@ func portInfo(fname string) error {
234217 fmt .Println (f .PortGetRegionInfo (uint32 (idx )))
235218 }
236219 }
220+
221+ fmt .Println ("GetDevPath: " , f .GetDevPath ())
222+ fmt .Println ("GetSysFsPath: " , f .GetSysFsPath ())
223+ fmt .Println ("GetName: " , f .GetName ())
224+ pci , err := f .GetPCIDevice ()
225+ fmt .Printf ("GetPCIDevice: %+v %+v\n " , pci , err )
226+ id , err := f .GetPortID ()
227+ fmt .Printf ("GetPort: %+v %+v\n " , id , err )
228+ fmt .Println ("GetAcceleratorTypeUUID: " , f .GetAcceleratorTypeUUID ())
229+ fmt .Println ("GetInterfaceUUID: " , f .GetInterfaceUUID ())
230+ fme , err := f .GetFME ()
231+ fmt .Printf ("GetFME: %+v %+v\n " , fme , err )
232+
237233 return nil
238234}
239235
240- func doPR (fme , bs string , dryRun bool ) error {
241- var f fpga.FpgaFME
242- var err error
243- switch {
244- case strings .HasPrefix (fme , "/dev/dfl-fme." ):
245- f , err = fpga .NewDflFME (fme )
246- case strings .HasPrefix (fme , "/dev/intel-fpga-fme." ):
247- f , err = fpga .NewIntelFpgaFME (fme )
248- default :
249- return errors .Errorf ("unknown FME %s" , fme )
250- }
251- fmt .Printf ("Trying to program %s to port 0 of %s" , bs , fme )
236+ func doPR (dev , bs string , dryRun bool ) error {
237+
238+ f , err := fpga .NewFpgaPort (dev )
252239 if err != nil {
253240 return err
254241 }
255242 defer f .Close ()
256- fmt .Print ("API:" )
257- fmt .Println (f .GetAPIVersion ())
258243 m , err := bitstream .Open (bs )
259244 if err != nil {
260245 return err
261246 }
262247 defer m .Close ()
263248
264- rawBistream , err := m .RawBitstreamData ()
265- if err != nil {
266- return err
267- }
268- if dryRun {
269- fmt .Println ("Dry-Run: Skipping actual programming" )
270- return nil
271- }
272- fmt .Print ("Trying to PR, brace yourself! :" )
273- fmt .Println (f .PortPR (0 , rawBistream ))
249+ fmt .Printf ("Before programming I %q A %q\n " , f .GetInterfaceUUID (), f .GetAcceleratorTypeUUID ())
250+ fmt .Printf ("Trying to program %s to port %s: " , bs , dev )
251+ fmt .Println (f .PR (m , dryRun ))
252+ fmt .Printf ("After programming I %q A %q\n " , f .GetInterfaceUUID (), f .GetAcceleratorTypeUUID ())
274253 return nil
275254}
0 commit comments