Rev 1239 | Rev 1268 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1239 | Rev 1246 | ||
---|---|---|---|
Line 43... | Line 43... | ||
43 | int radeon_agpmode = -1; |
43 | int radeon_agpmode = -1; |
44 | int radeon_gart_size = 512; /* default gart size */ |
44 | int radeon_gart_size = 512; /* default gart size */ |
45 | int radeon_benchmarking = 0; |
45 | int radeon_benchmarking = 0; |
46 | int radeon_connector_table = 0; |
46 | int radeon_connector_table = 0; |
47 | int radeon_tv = 0; |
47 | int radeon_tv = 0; |
- | 48 | int radeon_modeset = 1; |
|
Line 48... | Line 49... | ||
48 | 49 | ||
49 | void parse_cmdline(char *cmdline, mode_t *mode, char *log); |
50 | void parse_cmdline(char *cmdline, mode_t *mode, char *log); |
- | 51 | int init_display(struct radeon_device *rdev, mode_t *mode); |
|
- | 52 | int init_display_kms(struct radeon_device *rdev, mode_t *mode); |
|
50 | int init_display(struct radeon_device *rdev, mode_t *mode); |
53 | |
51 | int get_modes(mode_t *mode, int *count); |
54 | int get_modes(mode_t *mode, int *count); |
Line 52... | Line 55... | ||
52 | int set_user_mode(mode_t *mode); |
55 | int set_user_mode(mode_t *mode); |
Line 688... | Line 691... | ||
688 | } |
691 | } |
689 | /* Again modeset_init should fail only on fatal error |
692 | /* Again modeset_init should fail only on fatal error |
690 | * otherwise it should provide enough functionalities |
693 | * otherwise it should provide enough functionalities |
691 | * for shadowfb to run |
694 | * for shadowfb to run |
692 | */ |
695 | */ |
- | 696 | if( radeon_modeset ) |
|
- | 697 | { |
|
693 | r = radeon_modeset_init(rdev); |
698 | r = radeon_modeset_init(rdev); |
694 | if (r) { |
699 | if (r) { |
695 | return r; |
700 | return r; |
696 | } |
701 | } |
- | 702 | }; |
|
697 | return 0; |
703 | return 0; |
698 | } |
704 | } |
Line 699... | Line 705... | ||
699 | 705 | ||
Line 700... | Line 706... | ||
700 | mode_t usermode; |
706 | mode_t usermode; |
701 | 707 | ||
702 | 708 | ||
703 | int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent) |
709 | int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent) |
Line 704... | Line 710... | ||
704 | { |
710 | { |
Line 705... | Line 711... | ||
705 | struct drm_device *dev; |
711 | static struct drm_device *dev; |
706 | int ret; |
712 | int ret; |
707 | 713 | ||
Line 708... | Line 714... | ||
708 | ENTER(); |
714 | ENTER(); |
709 | 715 | ||
Line 734... | Line 740... | ||
734 | 740 | ||
735 | // DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n", |
741 | // DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n", |
736 | // driver->name, driver->major, driver->minor, driver->patchlevel, |
742 | // driver->name, driver->major, driver->minor, driver->patchlevel, |
Line -... | Line 743... | ||
- | 743 | // driver->date, pci_name(pdev), dev->primary->index); |
|
- | 744 | ||
- | 745 | if( radeon_modeset ) |
|
737 | // driver->date, pci_name(pdev), dev->primary->index); |
746 | init_display_kms(dev->dev_private, &usermode); |
Line 738... | Line 747... | ||
738 | 747 | else |
|
Line 739... | Line 748... | ||
739 | init_display(dev->dev_private, &usermode); |
748 | init_display(dev->dev_private, &usermode); |
Line 834... | Line 843... | ||
834 | 843 | ||
835 | case SRV_ENUM_MODES: |
844 | case SRV_ENUM_MODES: |
836 | dbgprintf("SRV_ENUM_MODES inp %x inp_size %x out_size %x\n", |
845 | dbgprintf("SRV_ENUM_MODES inp %x inp_size %x out_size %x\n", |
Line -... | Line 846... | ||
- | 846 | inp, io->inp_size, io->out_size ); |
|
837 | inp, io->inp_size, io->out_size ); |
847 | |
838 | 848 | if( radeon_modeset && |
|
839 | if( (outp != NULL) && (io->out_size == 4) && |
849 | (outp != NULL) && (io->out_size == 4) && |
840 | (io->inp_size == *outp * sizeof(mode_t)) ) |
850 | (io->inp_size == *outp * sizeof(mode_t)) ) |
841 | { |
851 | { |
842 | retval = get_modes((mode_t*)inp, outp); |
852 | retval = get_modes((mode_t*)inp, outp); |
Line 843... | Line 853... | ||
843 | }; |
853 | }; |
- | 854 | break; |
|
- | 855 | ||
- | 856 | case SRV_SET_MODE: |
|
- | 857 | dbgprintf("SRV_SET_MODE inp %x inp_size %x\n", |
|
844 | break; |
858 | inp, io->inp_size); |
845 | 859 | ||
846 | case SRV_SET_MODE: |
860 | if( radeon_modeset && |
847 | if( (inp != NULL) && |
861 | (inp != NULL) && |
848 | (io->inp_size == sizeof(mode_t)) ) |
862 | (io->inp_size == sizeof(mode_t)) ) |
849 | { |
863 | { |
850 | retval = set_user_mode((mode_t*)inp); |
- | |
851 | }; |
864 | retval = set_user_mode((mode_t*)inp); |
Line 852... | Line 865... | ||
852 | break; |
865 | }; |
853 | 866 | break; |
|
Line 854... | Line -... | ||
854 | }; |
- | |
855 | - | ||
856 | return retval; |
867 | }; |
- | 868 | ||
Line -... | Line 869... | ||
- | 869 | return retval; |
|
- | 870 | } |
|
857 | } |
871 | |
Line 858... | Line -... | ||
858 | - | ||
859 | u32_t drvEntry(int action, char *cmdline) |
872 | static char log[256]; |
860 | { |
873 | static dev_t device; |
Line 861... | Line 874... | ||
861 | static char log[256]; |
874 | |
862 | 875 | u32_t drvEntry(int action, char *cmdline) |
|
Line 883... | Line 896... | ||
883 | { |
896 | { |
884 | printf("Can't open %s\nExit\n", log); |
897 | printf("Can't open %s\nExit\n", log); |
885 | return 0; |
898 | return 0; |
886 | }; |
899 | }; |
887 | } |
900 | } |
- | 901 | dbgprintf("Radeon RC05 cmdline %s\n", cmdline); |
|
Line 888... | Line 902... | ||
888 | 902 | ||
Line 889... | Line 903... | ||
889 | enum_pci_devices(); |
903 | enum_pci_devices(); |
Line 899... | Line 913... | ||
899 | dbgprintf("device %x:%x\n", device.pci_dev.vendor, |
913 | dbgprintf("device %x:%x\n", device.pci_dev.vendor, |
900 | device.pci_dev.device); |
914 | device.pci_dev.device); |
Line 901... | Line 915... | ||
901 | 915 | ||
Line 902... | Line 916... | ||
902 | err = drm_get_dev(&device.pci_dev, ent); |
916 | err = drm_get_dev(&device.pci_dev, ent); |
- | 917 | ||
- | 918 | err = RegService("DISPLAY", display_handler); |
|
- | 919 | ||
Line -... | Line 920... | ||
- | 920 | if( err != 0) |
|
903 | 921 | dbgprintf("Set DISPLAY handler\n"); |