On Mon, Jul 26, 2021 at 08:45:24AM +0100, Edd Barrett wrote:
> Hi,
> 
> I upgraded my snapshot last week and the machine no longer suspends. I
> don't know exactly which snap caused this, as I hadn't been upgrading
> snaps very frequently.
> 
> Upon running `zzz` from a terminal emulator, the screen goes black, but
> the machine never enters sleep state.
> 
> Upon hard-resetting the machine, fsck runs, so the disks can't have been
> synced.
> 
> I don't have a serial port on this machine, and I don't think I can
> force console output out of a usb-serial adapter (can I?).
> 
> dmesg follows, but please let me know what other info might be useful.
> 
> Thanks.

on a t500 running amd64 with
radeondrm0: RV635

on suspend I see
ttm_copy_io_ttm_page: stub
[TTM] Buffer eviction failed
uhub2 detached
ugen0 detached
ugen1 detached
uhub3 detached
uhub4 detached
uhub8 detached
video0 detached
uvideo0 detached
uhub0 detached
uhub5 detached
uhub6 detached
uhub7 detached
uhub1 detached

but it does suspend and resume

a t42 running i386 with
radeondrm0: RV200
does not hit the ttm_copy_io_ttm_page / Buffer eviction failed path

with the following diff t500 suspends quicker here does it change
anything on your machine?

Index: sys/dev/pci/drm/include/linux/highmem.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/include/linux/highmem.h,v
retrieving revision 1.3
diff -u -p -r1.3 highmem.h
--- sys/dev/pci/drm/include/linux/highmem.h     14 Jun 2020 15:20:07 -0000      
1.3
+++ sys/dev/pci/drm/include/linux/highmem.h     27 Jul 2021 01:26:38 -0000
@@ -54,6 +54,21 @@ kunmap_atomic(void *addr)
 #endif
 }
 
-#endif /* defined(__i386__) || defined(__amd64__) */
+#else /* !defined(__i386__) && !defined(__amd64__) */
+
+static inline void *
+kmap_atomic(struct vm_page *pg)
+{
+       return NULL;
+}
+
+static inline void
+kunmap_atomic(void *addr)
+{
+}
+
+#endif
+
+#define kmap_atomic_prot(a, p) kmap_atomic(a)
 
 #endif
Index: sys/dev/pci/drm/ttm/ttm_bo_util.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/ttm/ttm_bo_util.c,v
retrieving revision 1.28
diff -u -p -r1.28 ttm_bo_util.c
--- sys/dev/pci/drm/ttm/ttm_bo_util.c   7 Jul 2021 02:38:37 -0000       1.28
+++ sys/dev/pci/drm/ttm/ttm_bo_util.c   27 Jul 2021 00:40:32 -0000
@@ -186,9 +186,6 @@ static int ttm_copy_io_ttm_page(struct t
                                unsigned long page,
                                pgprot_t prot)
 {
-       STUB();
-       return -ENOSYS;
-#ifdef notyet
        struct vm_page *d = ttm->pages[page];
        void *dst;
 
@@ -205,16 +202,12 @@ static int ttm_copy_io_ttm_page(struct t
        kunmap_atomic(dst);
 
        return 0;
-#endif
 }
 
 static int ttm_copy_ttm_io_page(struct ttm_tt *ttm, void *dst,
                                unsigned long page,
                                pgprot_t prot)
 {
-       STUB();
-       return -ENOSYS;
-#ifdef notyet
        struct vm_page *s = ttm->pages[page];
        void *src;
 
@@ -231,7 +224,6 @@ static int ttm_copy_ttm_io_page(struct t
        kunmap_atomic(src);
 
        return 0;
-#endif
 }
 
 int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,

Reply via email to