An engine valve timing controller controls a hydraulically driven variable
valve timing mechanism, based on coolant temperature and intake air
temperature. If coolant temperature and intake air temperature at engine
startup are at least equal to an operation assurance oil temperature and
an absolute value of the difference between the two temperatures is less
than or equal to a prescribed temperature, then oil temperature is
determined to be at least as high as the operation assurance oil
temperature. Thus, the valve timing mechanism operates after coolant
temperature rises to a first operation permission coolant temperature that
is a temperature at which increasing the amount of internal EGR by
increasing the amount of valve overlap is permitted. If these conditions
are not satisfied, then valve timing mechanism operates after coolant
temperature rises to a second operation permission coolant temperature
that is a temperature at which oil temperature is definitely at least
equal to the operation assurance oil temperature.