cudaErrorNotSupported when calling cv::cuda::cudaHostRegister on NVIDIA TX2

I am trying to integrate OpenCV CUDA Stereo block matching for ROS.
The code works well on laptop (Device 0: “Quadro K2100M” 2000Mb, sm_30, 576 cores, Driver/Runtime ver.9.10/9.10) but when trying to run on TX2 (Device 0: “NVIDIA Tegra X2” 7854Mb, sm_62, Driver/Runtime ver.9.0/9.0) I will get error:

OpenCV Error: Gpu API call (operation not supported) in registerPageLocked, file /data/git/opencv/modules/core/src/cuda_host_mem.cpp, line 323
terminate called after throwing an instance of 'cv::Exception'
  what():  /data/git/opencv/modules/core/src/cuda_host_mem.cpp:323: error: (-217) operation not supported in function registerPageLocked

I freshly flashed the TX2 with Jetpack 3.2, the CUDA 9.0 come from Jetpack. I got the same error with Jetpack 3.1 and CUDA 8.0.

The registerPageLocked looks like this:

void cv::cuda::registerPageLocked(Mat& m)
#ifndef HAVE_CUDA
    (void) m;
    CV_Assert( m.isContinuous() );
    cudaSafeCall( cudaHostRegister(, m.step * m.rows, cudaHostRegisterPortable) );

Looking at the API DOC:
I assume the error returned from cudaHostRegister is cudaErrorNotSupported.
The API mention one thing re support:

cudaHostRegister is not supported on non I/O coherent devices.

Is my analysis above correct?
Does the TX2 support cudaHostRegister function ?
If not then what are the alternatives?
I am trying to use OpenCV streams.

Any advice greatly appreciated!

you might want to ask this on the TX2 forum:

Duplicate on TX2 forum. Please comment there:

Thanks txbob