File tree 2 files changed +27
-2
lines changed
2 files changed +27
-2
lines changed Original file line number Diff line number Diff line change @@ -823,10 +823,28 @@ u8 vc4_hvs_get_fifo_frame_count(struct vc4_hvs *hvs, unsigned int fifo)
823
823
if (!drm_dev_enter (drm , & idx ))
824
824
return 0 ;
825
825
826
- if (vc4 -> gen >= VC4_GEN_6 ) {
826
+ switch (vc4 -> gen ) {
827
+ case VC4_GEN_6 :
827
828
field = VC4_GET_FIELD (HVS_READ (SCALER6_DISPX_STATUS (fifo )),
828
829
SCALER6_DISPX_STATUS_FRCNT );
829
- } else {
830
+ break ;
831
+ case VC4_GEN_5 :
832
+ switch (fifo ) {
833
+ case 0 :
834
+ field = VC4_GET_FIELD (HVS_READ (SCALER_DISPSTAT1 ),
835
+ SCALER5_DISPSTAT1_FRCNT0 );
836
+ break ;
837
+ case 1 :
838
+ field = VC4_GET_FIELD (HVS_READ (SCALER_DISPSTAT1 ),
839
+ SCALER5_DISPSTAT1_FRCNT1 );
840
+ break ;
841
+ case 2 :
842
+ field = VC4_GET_FIELD (HVS_READ (SCALER_DISPSTAT2 ),
843
+ SCALER5_DISPSTAT2_FRCNT2 );
844
+ break ;
845
+ }
846
+ break ;
847
+ case VC4_GEN_4 :
830
848
switch (fifo ) {
831
849
case 0 :
832
850
field = VC4_GET_FIELD (HVS_READ (SCALER_DISPSTAT1 ),
@@ -841,6 +859,7 @@ u8 vc4_hvs_get_fifo_frame_count(struct vc4_hvs *hvs, unsigned int fifo)
841
859
SCALER_DISPSTAT2_FRCNT2 );
842
860
break ;
843
861
}
862
+ break ;
844
863
}
845
864
846
865
drm_dev_exit (idx );
Original file line number Diff line number Diff line change 424
424
# define SCALER_DISPSTAT1_FRCNT0_SHIFT 18
425
425
# define SCALER_DISPSTAT1_FRCNT1_MASK VC4_MASK(17, 12)
426
426
# define SCALER_DISPSTAT1_FRCNT1_SHIFT 12
427
+ # define SCALER5_DISPSTAT1_FRCNT0_MASK VC4_MASK(25, 20)
428
+ # define SCALER5_DISPSTAT1_FRCNT0_SHIFT 20
429
+ # define SCALER5_DISPSTAT1_FRCNT1_MASK VC4_MASK(19, 14)
430
+ # define SCALER5_DISPSTAT1_FRCNT1_SHIFT 14
427
431
428
432
#define SCALER_DISPSTATX (x ) (SCALER_DISPSTAT0 + \
429
433
(x) * (SCALER_DISPSTAT1 - \
442
446
#define SCALER_DISPSTAT2 0x00000068
443
447
# define SCALER_DISPSTAT2_FRCNT2_MASK VC4_MASK(17, 12)
444
448
# define SCALER_DISPSTAT2_FRCNT2_SHIFT 12
449
+ # define SCALER5_DISPSTAT2_FRCNT2_MASK VC4_MASK(19, 14)
450
+ # define SCALER5_DISPSTAT2_FRCNT2_SHIFT 14
445
451
446
452
#define SCALER_DISPBASE2 0x0000006c
447
453
#define SCALER_DISPALPHA2 0x00000070
You can’t perform that action at this time.
0 commit comments